Struts 2 架构

从高层次上看,Struts2 是一个 pull-MVC(或 MVC2)框架。 Struts2 中的 Model-ViewController 模式由以下五个核心组件实现

  • Actions
  • Interceptors
  • Value Stack / OGNL
  • Results / Result 类型
  • View 技术

Struts 2 与传统的 MVC 框架略有不同,其中 action 扮演模型而不是控制器的角色,尽管有一些重叠。

struts 2 architecture
struts 2 architecture

上图描述了 Struts2 高级架构的模型、视图和控制器。 控制器用 Struts2 调度 servlet 过滤器和拦截器实现,这个模型用动作实现,视图是结果类型和结果的组合。 值堆栈和 OGNL 提供了公共线程,链接并实现了其他组件之间的集成。

除了上述组件之外,还会有很多与配置相关的信息。 Web 应用程序的配置,以及操作、拦截器、结果等的配置。

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


请求生命周期

根据上图,我们可以了解 Struts 2 中通过用户请求生命周期的工作流程如下

  • 用户向服务器发送请求来请求某些资源(即页面)。
  • Filter Dispatcher 查看请求,然后确定适当的 Action。
  • 配置的拦截器功能适用,例如验证、文件上传等。
  • 根据请求的操作执行选定的操作。
  • 同样,如果需要,将应用配置的拦截器来执行任何后处理。
  • 最后,由视图准备结果并将结果返回给用户。

查看笔记

扫码一下
查看教程更方便