Struts 2 简明教程

Struts 2 - Architecture

从高层次来说,Struts2 是一个 pull-MVC(或 MVC2)框架。Struts2 中的模型-视图-控制器模式使用以下五个核心组件实现 -

  1. Actions

  2. Interceptors

  3. Value Stack / OGNL

  4. Results / Result types

  5. View technologies

Struts 2 与传统的 MVC 框架略有不同,其中操作充当模型而不是控制器,尽管有一些重叠。

struts 2 architecture

上图描述了 M*odel, *V*iew and *C*ontroller to the Struts2 high level architecture. The controller is implemented with a *Struts2 调度 servlet 过滤器以及拦截器,此模型使用操作实现,而视图是结果类型和结果的组合。值堆栈和 OGNL 提供公共线程,链接和启用其他组件之间的集成。

除了上述组件外,还将存在大量与配置相关的信息。Web 应用程序配置,以及动作、拦截器、结果等配置。

这是 Struts 2 MVC 模式的架构概览。我们将在后续章节中更详细地介绍每个组件。

Request Life Cycle

根据上图,您可以理解用户请求生命周期中的工作流程 Struts 2 如下 −

  1. 用户向服务器发送请求以请求某些资源(即页面)。

  2. Filter Dispatcher 查看请求,然后确定合适的 Action。

  3. 应用已配置的拦截器功能,例如验证、文件上传等。

  4. 根据请求操作执行所选的动作。

  5. 同样,如果需要,应用已配置的拦截器执行任何后期处理。

  6. 最后,视图准备结果并将结果返回给用户。