Struts2Interceptors详解
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请求的生命周期:
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/13810.html