首页 > 代码库 > Struts2 Interceptors

Struts2 Interceptors

Struts2  Interceptors 详解

Struts2请求与响应的流程图

 

 

1、Struts2的整个生命周期开始于来自客户端的request请求,然后通过servlet容器执行相应的filter(此过程体现设计模式中的责任链模式)。

2、FilterDispatcher被调用,它通过查找ActionMapper决定哪一个Action将会被执行。

3、若ActionMapper中找到可以执行的Action,FilterDispatcher将控制权委托给ActionProxy。

4、ActionProxy读取struts.xml配置文件,ActionPorxy创建一个ActionInvocation实例,并将控制权交给ActionInvocation实例

5、ActionInvocation是命令行设计模式的实现,ActionInvocation实例逐个调用Interceptors,然后调用相应的Action

6、一旦Action有返回,ActionInvocation在struts.xml中寻找相应的Action返回结果。

7、拦截器再以相反的顺序执行和响应返回到过滤器(在大多数情况下是FilterDispatcher)。然后result发送到servlet容器并依次将其发送回客户端。

 

Request请求的生命周期:

Struts2 Interceptors