Struts2执行流程图:

Struts2执行流程_客户端


Struts2执行流程过程:

1、客户端发送请求;
2、请求通过一系列过滤器到达FilterDispatcher; --ActionContextCleanUp至FilterDispatcher;
3、FilterDispatcher通过ActionMapper来决定Request需要调用那个Action;
4、如果ActionMapper决定调用某一个Action,FilterDispatcher把请求的处理交给ActionProxy;--这里已经转到它的Delegate Dispatcher来执行;
5、ActionProxy根据ActionMapping和ConfigurationManeger找到需要调用的Action类;
6、ActionProxy创建一个ActionInvocation的实例;
7、ActionInvocation调用真正的Action;--这里涉及到相关拦截器的调用;
8、Action执行完毕,ActionInvotion创建Result并返回,如果要在返回之前做什么,可以实现PreResultListener。添加PreResultListener可以在Interceptor中实现;