架构(Architecture)

优质
小牛编辑
133浏览
2023-12-01

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

  • Actions
  • Interceptors
  • 价值堆栈/ OGNL
  • Results/Result types
  • 查看技术

Struts 2与传统的MVC框架略有不同,传统的MVC框架虽然存在一些重叠,但它们扮演的是模型的角色而不是控制器。

Struts 2架构

上图描绘了Struts2高级架构的M odel, V iew和C ontroller。 控制器使用Struts2调度servlet过滤器和拦截器实现,该模型使用操作实现,视图是结果类型和结果的组合。 值栈和OGNL提供了通用线程,链接和启用其他组件之间的集成。

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

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

请求生命周期

基于上图,您可以了解Struts 2用户请求生命周期的工作流程,如下所示 -

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

  • Filter Dispatcher查看请求,然后确定相应的Action。

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

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

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

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