简单介绍:
Struts框架是流行广泛的一个MVC开源实现,而Struts2是Struts框架的新一代产品,是将Struts1和WebWork两种技术进行兼容、合并的全新的MVC框架。Struts2框架充分发挥了Struts1和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易。
Struts2是以WebWork为核心,采用拦截器机制对用户的请求进行处理,是webwork的升级
使用优点:
无需与Servlet api整合,更易测试
优雅请求参数封装
灵活的视图技术
丰富的表达式语言
机动,灵活,简单的配置
线程安全的控制器(Action)相对struts1而言
霸气的插件:和其他框架链接的插口
框架架构:
内建多个拦截器拦截栈, Struts2是以WebWork为核心,采用拦截器机制对用户的请求进行处理
使用步骤:
步骤:
(1)客户端浏览器发送HTTP请求到Web应用
(2)Web容器将请求传递到标准ActionContextCleanUp过滤器以消除属性,而不让后续过滤器清楚,以延长Action中属性(包括自定义属性)的生命周期。ActionContextCleanUp作用
(3)再经过如stimesh等其他过滤器后,请求传递给StrutsPrepareAndExecuteFilter核心控制器
(4)StrutsPrepareAndExecuteFilter调用ActionMapper(Action映射器)确定调用哪个Action,再将控制权转移给ActionProxy代理
(5)ActionProxy代理调用配置管理器ConfigurationManager从配置文件struts.xml中读取配置信息,然后创建ActionInvocation对象
(6)ActionInvocation在调用拦截器链中的拦截器后再调用Action,根据Action返回的结果字符串查找对应的Result
(7)Result调用视图模板,再以相反的顺序执行拦截器链,返回HTTP响应
(8)HTTP响应以相反的顺序返回给核心控制器StrutsPrepareAndExecuteFilter以及其他web.xml中定义的过滤器,最终返回给客户端。
目录