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