关于Struts2

Struts2时以WebWork优秀的设计思想为核心,吸收了部分的Struts1框架的部分的优点,提供了一个更加整洁的MVC设计模式的实现的Web应用程序框架

Strust2引入的几个新特性:从逻辑中分离横切关注点的拦截器(Intercptor)、减少或消除配置文件、贯穿整个框架的强大的OGNL(对象导航图语言)、

                                    支持可变可重用的MVC模式标签的API,Struts2充分利用了其他的MVC框架学到的经验和教训,时Struts2框架的更加的清晰、

                                    灵活。

 

执行流程图:

(1)  首先从客户端发送HTTP请求,进过一系列的过滤器到达我们Struts2的核心控制器FilterDispatcher;

(2)  核心过滤器根据请求的URL获得ActionMapper实例,如果不存在则返回404请求的资源路径不正确,如果存在返回一个ActionMapping数据传输对象

(3)  核心过滤器根据ActionMapping数据传输对象产生一个ActionProxy代理对象

(4)  ActionProxy根据请求的数据,去委托交给ConfigurationManager(配置管理对象),从Struts.xml中获取Action的拦截器;

(5)  产生出一个Action的调度者,调度者会根据struts.xml去匹配拦截器Interceptor通过递归的顺序去调用拦截器;

(6)  进入到我们的Action中,执行我们编写的相关操作,返回一个result视图调度

(7)  根据result去匹配的我们的物理视图,jsp,html,freeMarkey等

(8)  Action的调度者再次以反向的顺序调用Action中的拦截器Interceptor

(9)  执行完所有的拦截器interceptor之后生成一个们响应的HttpServletResponce响应对象

(10) HttpServletResponce经过一系列的过滤器将结果呈现给我们的客户端显示

posted @ 2015-04-02 10:34  _best_hetiao  阅读(152)  评论(0)    收藏  举报