Struts2执行流程

Struts2的处理流程参照上图所示:

1.客户端浏览器发起一个请求;

2.请求经过一些列的过滤器,如图中的ActionContextCleanUp,SiteMesh等等;

3.请求到达FilterDispatcher,它是Struts2控制层的核心。

4.FilterDispatcher询问ActionMapper是否要调用相应的Action来处理客户发来的请求。如果ActionMapper决定要调用某个Action则DispatcherServlet把请求转给ActionProxy。

5.ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,找到需要调用的Action类。

6.ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action。但在调用之前,ActionInvocation会根据配置加载Action相关的所有Interceptor(拦截器)。

7.一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result。

8.将result的结果返回给客户端。

posted @ 2014-04-21 22:10  blackcat_333  阅读(357)  评论(0编辑  收藏  举报