- Struts 2 教程
- Struts2 - 首页
- Struts2 - 基本 MVC 架构
- Struts2 - 概述
- Struts2 - 环境搭建
- Struts2 - 架构
- Struts2 - 例子
- Struts2 - 配置
- Struts2 - Action
- Struts2 - 拦截器
- Struts2 - 结果类型
- Struts2 - 值栈/OGNL
- Struts2 - 文件上传
- Struts2 - 数据库访问
- Struts2 - 发送邮件
- Struts2 - 验证
- Struts2 - 国际化
- Struts2 - 类型转换
- Struts2 - 主题/模板
- Struts2 - 异常处理
- Struts2 - 注解
- Struts 2 标签
- Struts2 - 控制标签
- Struts2 - 数据标签
- Struts2 - 表单标签
- Struts2 - Ajax 标签
- Struts 2 集成
- Struts2 - Spring
- Struts2 - Tiles
- Struts2 - Hibernate
- Struts 2 有用资源
- Struts2 - 常见问题解答
- Struts2 - 快速指南
- Struts2 - 有用资源
- Struts2 - 讨论
Struts 2 架构
从高层次来看,Struts2是一个拉取式MVC(或MVC2)框架。Struts2中的模型-视图-控制器模式由以下五个核心组件实现:
- Action
- 拦截器
- 值栈/OGNL
- 结果/结果类型
- 视图技术
Struts 2与传统的MVC框架略有不同,其中Action扮演模型的角色,而不是控制器的角色,尽管两者之间存在一些重叠。
上图描述了Model(模型)、View(视图)和Controller(控制器)在Struts2高级架构中的关系。控制器由Struts2分发servlet过滤器和拦截器实现,模型由Action实现,视图是结果类型和结果的组合。值栈和OGNL提供了一个公共线程,连接并启用其他组件之间的集成。
除了上述组件之外,还将有很多与配置相关的信息。包括Web应用程序的配置,以及Action、拦截器、结果等的配置。
这是Struts 2 MVC模式的架构概述。我们将在后续章节中更详细地介绍每个组件。
请求生命周期
根据上图,您可以理解Struts 2中用户请求生命周期的工作流程如下:
用户向服务器发送请求,请求某些资源(即页面)。
过滤器调度程序查看请求,然后确定相应的Action。
应用配置的拦截器功能,例如验证、文件上传等。
根据请求的操作执行选定的Action。
再次应用配置的拦截器进行任何必要的后期处理。
最后,视图准备结果并将其返回给用户。
广告