Struts - 架构
-
简述
从高层来看,Struts2 是一个 pull-MVC(或 MVC2)框架。Struts2 中的 Model-View - Controller 模式由以下五个核心组件实现 -- 操作
- 拦截器
- 值堆栈/OGNL
- 结果/结果类型
- 视图技术
Struts 2与传统的MVC框架略有不同,在传统MVC框架中,操作扮演的是模型而不是控制器的角色,尽管有一些重叠。上图描绘了 Model, View和 ControllerStruts2 高级架构。控制器是用一个Struts2调度 servlet 过滤器和拦截器,这个模型是用动作实现的,视图是结果类型和结果的组合。值堆栈/OGNL 提供公共线程,链接和启用其他组件之间的集成。除了上述组件之外,还会有很多与配置相关的信息。Web 应用程序的配置,以及操作、拦截器、结果等的配置。这是 Struts 2 MVC 模式的架构概览。我们将在后续章节中更详细地介绍每个组件。 -
请求生命周期
根据上图,您可以了解在用户请求生命周期中的工作流程 Struts 2 如下 --
用户向服务器发送请求以请求某些资源(即页面)。
-
Filter Dispatcher 查看请求,然后确定适当的 Action。
-
配置的拦截器功能适用,例如验证、文件上传等。
-
根据请求的操作执行选定的操作。
-
同样,如果需要,配置的拦截器可用于执行任何后处理。
-
最后,结果由视图准备,并将结果返回给用户。
-