[原]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