Struts 2 架构和流程17 Mar 2025 | 阅读 2 分钟 Struts 2 应用程序的架构和流程结合了许多组件,例如控制器、ActionProxy、ActionMapper、配置管理器、ActionInvocation、拦截器、Action、Result 等。 在这里,我们将通过两种方式来理解 Struts 的流程 - Struts 2 基本流程
- Apache Struts 提供的 Struts 2 标准架构和流程
Struts 2 基本流程让我们通过这个简单的图来理解 Struts 2 应用程序的基本流程  - 用户发送一个 action 请求
- 控制器调用 ActionInvocation
- ActionInvocation 调用每个拦截器和 action
- 生成一个结果
- 结果被发送回 ActionInvocation
- 生成一个 HttpServletResponse
- 响应被发送给用户
Struts 2 标准流程(Struts 2 架构)让我们通过这个简单的图来理解 Struts 2 应用程序的标准架构  - 用户发送一个 action 请求
- 容器在 web.xml 文件中映射请求,并获取控制器的类名。
- 容器调用控制器 (StrutsPrepareAndExecuteFilter 或 FilterDispatcher)。 从 struts2.1 开始,它是 StrutsPrepareAndExecuteFilter。 2.1 之前是 FilterDispatcher。
- 控制器从 ActionMapper 获取 action 的信息
- 控制器调用 ActionProxy
- ActionProxy 从配置管理器获取 action 和拦截器栈的信息,配置管理器从 struts.xml 文件获取信息。
- ActionProxy 将请求转发到 ActionInvocation
- ActionInvocation 调用每个拦截器和 action
- 生成一个结果
- 结果被发送回 ActionInvocation
- 生成一个 HttpServletResponse
- 响应被发送给用户
|