sturts2的工作流程

sturts2的工作流程
1).客户端发出一个HttpServletRequest请求,到web服务器的struts框架中,
   >首先经过ActionContextCleanUp过滤器,它主要对ActionContext域对象中的内容进行清理,例如:删除某些错误消息集合,
    >其次经过其他的一些过滤器因为struts2框架可以和其他web层框架融合在一起工作,此时就得考虑到其他框架的特点.例如:SiteMesh框架它主要对web页面进行布局等等
    >最后经过核心过滤器StrutsPrepareAndExecuteFilter
2).创建ActionMapper对象
    >>如果有静态资源,例如:HTML,jsp或者是程序员指定的不需要有Struts2框架处理的url路径,直接进行放行,struts2框架不进行处理
    >>如果是需要处理的资源,继续交由struts2框架进行处理
3).创建ActionProxy对象
4).创建配置对象 ConfigurationManager,
5).加载src/struts.xml程序员写的配置文件,形成一个ActionMapping对象,该对象存有<action>标签的所有配置信息.
6).创建一个ActionInvocation对象
7).将创建好的ActionInvocation对象,交由struts框架中的默认拦截器栈,依次处理你的ActionInvocation,你可以理解为一个过滤器链.最后通过反射调用程序员自己写的目标对象Action业务方法
8).将Action返回的字符串,与真实的jsp页面对应起来,准备返回.
9).返回时,还要依次经过逆序的过滤器链,整个连接器执行过程中ActionInvocation对象一直存在.
10).如果上述操作都完全正确,web服务器会创建HttpServletResponse对象
响应给客户端浏览器.
下面的图是在网上拔图的,但是编号是自己写的.
 
 

猜你喜欢

转载自20120923lina.iteye.com/blog/2041281