struts2是一种基于MVC模式的框架,M是指数据模型V 是指视图节目C 是指控制器。
客户端------控制器(FilterDispatcher)--------模型(Action)----------视图(Result)---------客户端
(1)客户端初始化一个指向web容器的请求
(2)请求经过一系列的过滤器(Filter)的过滤并传递给FilterDispatcher。
(3)FilterDispatcher接收到请求信息后,会根据URL在ActionMapper中搜索指定Action的映射信息。
(4)如果找到符合的映射信息,ActionProxy通过Configuration Manager 在配置文件“struts.xml”中搜索被请求的Action类。
(5)ActionProxy创建一个被请求的Action的实例,该实例将用来处理请求信息。
(6)如果在“struts.xml”文件存在与被请求的Action相关的拦截器的配置,那么该Action的实例被调用的前后,这些拦截器也会被先执行。
(7)Action对请求处理完毕后返回一个逻辑视图,由此视图寻找对应的物理视图(可以是JSP,Velocity模板,FreeMarker模板),并返回给客户端。