代码改变世界

[原]Java web学习系列之 Java web开发中的Struts框架结构

2012-02-28 13:10  雪夜&流星  阅读(364)  评论(0编辑  收藏  举报

Control层

      Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。  

Model部分

  由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。

  JavaBean则封装了底层的业务逻辑,包括数据库访问等。

View部分

  该部分采用JSP实现。

  Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。

添加Struts架包支持:

    图片

添加完架包就会自动生成一个Struts—config.xml配置文件

<struts-config>

//显示模块数据
<form-beans />
<global-exceptions />

//用来指示操作转移的对象
<global-forwards />

//帮助控制器将请求映射到操作
<action-mappings />
<message-resources parameter="org.clarck.struts.ApplicationResources" />
</struts-config>

接着在视图窗中添加action:右键—>新建—>action、form、jsp

图片

图片

图片

图片

struts—config会出现对应的配置信息:

<struts-config>
<form-beans >
<form-bean name="loginForm" type="org.clarck.struts.form.LoginForm" />

</form-beans>

<global-exceptions />
<global-forwards /> //属性 描述

<action-mappings > //映射路径

<action
attribute="loginForm" //作用域名称
input="/login.jsp" // input 输入表单的路径
name="loginForm" //名称
path="/login" //Action类的相对路径
scope="request" //ActionForm bean的作用域(请求或会话)
type="org.clarck.struts.action.LoginAction"> //连接到本映射的Action类的全称(可有包名)
<forward name="index" path="/index.jsp" /> //操作类访问ActionForward时所用的逻辑名和响应转发的目标资源的路径
</action>

</action-mappings>

<message-resources parameter="org.clarck.struts.ApplicationResources" />
</struts-config>

LoginAction类中的相应操作:

public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
//获得上下文请求参数
String name=request.getParameter("username");
String pwd=request.getParameter("password");
//转发
return mapping.findForward("index");
}
}

 

笔记记于:2010-8-25 13:54