Struts2 框架
Struts2 是 Struts 的下一代产品。它在 Struts 和 WebWork 的技术基础上进行了合并,产生了全新的 Struts2 框架。Struts2 修复了大量错误和漏洞,并且体系结构和第一代 Struts 存在巨大差别(因为其实 Struts2 主要是由 WebWork 衍生而来),我们接下来的 Struts 开发课程也以 Struts2 为基础。
体系架构
Struts2 的体系结构大致如下图所示:
上图是 Struts2 的体系结构。一个请求在 Struts2 框架中的处理大概会经过以下几个步骤:
- 1、客户端发出一个指向 Servlet 容器(例如 Tomcat)的请求。
- 2、这个请求会经过几个过滤器 Filter(ActionContextCleanUp 可选过滤器、其他 Web 过滤器如 SiteMesh 等),最后到达 FilterDispatcher 过滤器。
- 3、接着 FilterDispatcher 过滤器被调用,FilterDispatcher 询问 ActionMapper 来决定这个请求是否需要调用某个 Action。
- 4、如果 ActionMapper 决定需要调用某个 Action,FilterDispatcher 把请求的处理交给 Action 对象的代理(ActionProxy)。