开发手册 欢迎您!
软件开发者资料库

Struts 2 - 架构

从高层次来看,Struts2是一个pull-MVC(或MVC2)框架.

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

  • 操作

  • 拦截器

  • 价值堆栈/OGNL

  • 结果/结果类型

  • 查看技术

Struts 2 与传统MVC框架略有不同,传统MVC框架的动作是模型的角色而不是控制器,尽管有一些重叠.

Struts 2 Architecture

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

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

这是Struts 2 MVC模式的体系结构概述.我们将在后续章节中详细介绍每个组件.

请求生命周期

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

  • 用户发送请求到服务器请求某些资源(即页面).

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

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

  • 选择的操作是基于请求操作.

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

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