4_struts framework工作流程分析

1 读取配置 (初始化ModuleConfig对象)

A  由于在web.xml中配置了<load-on-startup>0</load-on-startup> , ActionServlet在servlet容器启动的时候启动,然后读取struts-config.xml配置文件中的信息,并且根据这些信息为struts不同的模块初始化ModuleConfig对象:

 

ActionConfig, ControlConfig, FormBeanConfig, ForwardConfig, MessageResourcesConfig

2 发出请求

    浏览器客户端向web服务器发出请求,servlet容器根据配置,将.do请求交由ActionServlet处理

 

3 填充form

    根据url的请求路径,ActionServlet在ActionConfig中找到对应的Action,并且查找对应域,session或者request中的formbean,如果没有找到,就通过反射得到一个新的formbean对象,并且马上存入相关作用域,反之如果已经存在这样一个ActionForm,则ActionForm首先被reset,然后其对应属性被http请求参数填充,然后调用validate方法进行校验。

4 派发请求

    ActionServlet将调用xml文件中所配置的对应Action中的execute()方法,第三步中填充的formbean也会作为第二个参数传递,如果在struts-config.xml配置文件中Action对应的标签没有name属性,或者name属性没有找到对应的formbean标签,就将form参数设置为null去调用execute方法。

 

5 处理业务

    Action一般只包含一个execute()方法,在这个方法中通过调用业务层的模块进行业务逻辑处理

 

6 返回响应

    execute()方法返回给ActionServlet的是一个ActionForward对象,该对象包含了转发的信息,代表了一个具体的JSP页面或者其他Action,ActionServlet通过这个返回的对象进行转发操作。

 

7 查找响应

    ActionServlet根据返回的ActionForward查找到要响应的资源,一般是个JSP页面

 

8 响应用户

    ActionServlet渲染响应页面并且将之返回

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值