从高层次来看,Struts2是一个上拉MVC(MVC2)框架。在Struts2的Model-View-Controller模式实现以下五个核心组件:
动作-Actions
拦截器-Interceptors
值栈/OGNL
结果/结果类型
视图技术
Struts 2和传统的MVC框架有些不同,在该框架中的作用的模式,而不是控制器的作用略有不同,虽然有一些重叠。
上图描述了Struts2的高层体系结构模型,视图和控制器。一个Struts2的调度Servlet过滤器和拦截器与控制器实现,该模型实现的动作和视图的组合的结果类型和结果。值栈和OGNL提供了共同点,其他部件之间的连接和集成。
除了从上述组分中,将有一个特定的信息,涉及到配置。为Web应用程序的配置,以及配置的行动,拦截器,结果等。
这是Struts的MVC模式的体系结构概述。我们将在随后的章节中更详细地通过每个组件讲解。
基于上述数据图,可以解释用户的请求的生命周期在Struts 2如下所示:
用户的请求发送到服务器,用于请求某些资源(即页面)。
该过滤器调度的要求和确定适当的动作。
配置拦截器的功能适用于如验证,文件上传等。
选择的动作执行,执行所请求的操作。
同样,配置拦截器做任何后期处理,如果需要的话。
最后的结果是由视图准备,并且将结果返回给用户。