Struts框架学习心得

提到Struts框架,就不能不提Servlet,它在MVC体系中担当着C(Controller控制器)的角色。在Struts中,Servlet的初始化通过配置文件web.xml来完成,例如:
<!-- Standard Action Servlet Configuration -->
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
 </servlet>

<!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

在上面例子中,指定org.apache.struts.action.ActionServlet作为中心Servlet,它处理所有的request,并作出相应的处理。关于Struts的请求-响应处理流程可参看代码org.apache.struts.action.RequestProcessor。下面我只对一些关键部分作出描述。例如:
<action-mappings>
<action path="/processSimple"
    type="examples.simple.ProcessSimpleAction"
    name="simpleForm"
    scope="request"
    input="/jsp/simple/Simple.jsp"
    cancellable="true"
    validate="true">
    <forward name="success" path="/jsp/simple/SimpleResults.jsp"/>
</action>
</action-mappings>

1. ActionServlet接到用户的request,(如processSimple.do),在struts-config.xml里面找到相应的ActionMapping。

2. 调用processActionForm()方法,ActionServlet先检查request或session中(scope设置),是否有form bean实例存在(name设置)。如果有,返回这个实例,否则创建一个form bean实例(name设置)。然后将这个form bean实例放在request或session中。

3. 调用processPopulate(),来处理步骤2中的form bean实例,先调用ActionForm的reset()方法,然后将request的表单数据填充到ActionForm中。

4. 调用processValidate(),ActionServlet检查ActionMapping的validate设置,如果设置为false,什么都不做;如果没有设置或设置为true,将调用步骤3中form bean实例(已经填充了数据)的validate方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值