Java复习总结——框架篇(二)

来源:互联网 发布:淘宝国产高达禁卖 编辑:程序博客网 时间:2024/06/01 22:01

一、strust 2

1、运行原理


1.客户端初始化发出一个执行Service容器(如Tomcat)的Http请求(HTTPServletRequest)

2.经过一系列过滤器Other Filters(其中ActionContextCleanUp可以帮助Struts 2和其他框架更好的继承,比如SiteMesh,

ActionContextCleanUp延长了Action的生命周期,通过它对属性进行清除,不让Action自行清除,帮助SiteMesh完成静态页面与动态页面的分离工作

3.到达核心过滤器StrutsPrepareAndExecuteFilter(它是DispatcherFilter的替代版,解决了不能再Action的过滤器之前使用拦截器的问题,通过它我们可以将自定义过滤器放在StrutsPrepareFilter和StrutsExecuteFilter之间),核心过滤器询问ActionMapper该请求是否需要Struts2进行处理

4.ActionMapper判定该请求是否需要调用Action,如果需要告知核心过滤器,核心过滤器将该请求的处理交给ActionProxy(如不需要执行步骤9)

5.ActionProxy询问Configuration Manager,通过查询ActionMapping里Struts.xml的配置找到请求的Action告知ActionProxy

6.ActionProxy创建ActionInvocation实例

7.ActionInvocation通过default.properties的配置使用命名模式调用Action,调用Action的前后需要经过一系列拦截器Interceptor

8.进入Action完成逻辑处理后,根据ActionMapping中struts.xml里result的配置找到对应的返回结果

9.该请求处理再反向经过刚才的一系列拦截器返回出HttpServletResponse

10.经由HttpServletResponse响应到页面

思考:Other Filters里都有什么过滤器?

2.运行过程

1.客户端发出Http请求
2.根据web.xml的配置,将该请求的处理交给StrutsPrepareAndExcuteFilter
3.根据struts,xml的配置,找到该请求对应的Action,前台页面的值通过IOC(反向控制)将值注入到Action
4.Action处理业务逻辑
5.根据Struts.xml配置的Result找到要返回的页面
6.返回Http响应到客户端
参考文章:参考文章
0 0
原创粉丝点击