Struts2 Interceptors
2014-09-01 15:21
363 查看
Struts2 Interceptors 详解
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容器并依次将其发送回客户端。
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
- struts2 问题 The content of element type "package" must match "(result-types?,interceptors?,
- 简单的Struts2的Interceptors(拦截器)机制介绍以及利用拦截器实现用户登陆时执行耗时操作并自动跳转的实例
- struts2---The content of element type "package" must match "(result-types?,interceptors?,default-int
- Struts2--Interceptors
- 菜鸟学Struts2——Interceptors
- Struts2 Interceptors
- struts2 Interceptors 拦截器
- struts2---The content of element type "package" must match "(result-types?,interceptors?,default-int
- struts2的拦截器介绍(Interceptors)
- Struts2初识(三) ---> interceptors
- struts2 CVE-2010-1870 S2-005 XWork ParameterInterceptors bypass allows remote command execution
- Struts2 Interceptors详解
- struts2由浅入深专题分享——interceptors 第一回 interceptor的种类及exception拦截器 by:丹恋耗
- Struts2Interceptors详解
- Struts2 Interceptors
- struts2---The content of element type "package" must match "(result-types?,interceptors?,default-int
- struts2由浅入深专题分享——interceptors 第二回 声明独立的拦截器和拦截器栈 by:丹恋耗
- Struts2如何使用Interceptors
- Struts2 的 Result