Struts 2 - 架构

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

  • 操作
  • 拦截器
  • 值堆栈 / OGNL
  • 结果 / 结果类型
  • 视图技术

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

Struts 2 架构

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

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

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

请求生命周期

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

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

  • 过滤器调度程序查看请求,然后确定适当的操作。

  • 配置的拦截器功能适用,例如验证、文件上传等。

  • 根据请求的操作执行选定的操作。

  • 同样,如果需要,配置的拦截器将用于执行任何后处理。

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