关于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经过一系列的过滤器将结果呈现给我们的客户端显示
浙公网安备 33010602011771号