struts2 之 处理流程
来源:互联网 发布:php基础考试题 编辑:程序博客网 时间:2024/04/29 10:28
1) 当servlet容器接收到一个请求后,将请求交给你在web.xml里配置的过滤器FilterDispatcher,调用它的doFilter()方法。
2) FilterDispatcher询问ActionMapper,以便确定这个请求有对应的action调用。
3) ActionMapper返回一个描述action调用的ActionMapping对象。
4) FilterDispatcher调用Dispatcher类的serviceAction()方法。
5) Dispatcher调用ActionProxy的execute ()方法。
6) ActionProxy设置ActionInvocation对象的执行上下文,然后调用其invoke()方法。
7) ActionInvocation的invoke()方法从拦截器映射中查找尚未执行的拦截器,调用它的intercept (invocation)方法,并将自身对象的引用作为参数传递给拦截器。
8) 拦截器完成某些预处理工作后,反过来调用ActionInvocation的invoke()方法。ActionInvocation维护着自己的状态,所以它知道哪些拦截器已经被执行,如果还有没执行的拦截器就继续执行它的intercept (invocation)方法
9) 如果所有的拦截器都已经执行过了,就调用Action实例的excute()方法(如果在struts.xml文件中没有被设置成其他方法的话)。
10) ActionInvocation根据Action执行返回的结果码,查出对应的result,调用result的execute(invocation)方法,将结果页面呈现给用户。
11) ActionInvocation的invoke()方法将控制权返回给拦截器映射中的最后一个拦截器,该拦截器完成所有必需的后期处理工作,然后从intercept (invocation)方法返回,允许前一个拦截器执行它自己的后处理工作,如此反复直到所有的拦截器都成功的返回。
2) FilterDispatcher询问ActionMapper,以便确定这个请求有对应的action调用。
3) ActionMapper返回一个描述action调用的ActionMapping对象。
4) FilterDispatcher调用Dispatcher类的serviceAction()方法。
5) Dispatcher调用ActionProxy的execute ()方法。
6) ActionProxy设置ActionInvocation对象的执行上下文,然后调用其invoke()方法。
7) ActionInvocation的invoke()方法从拦截器映射中查找尚未执行的拦截器,调用它的intercept (invocation)方法,并将自身对象的引用作为参数传递给拦截器。
8) 拦截器完成某些预处理工作后,反过来调用ActionInvocation的invoke()方法。ActionInvocation维护着自己的状态,所以它知道哪些拦截器已经被执行,如果还有没执行的拦截器就继续执行它的intercept (invocation)方法
9) 如果所有的拦截器都已经执行过了,就调用Action实例的excute()方法(如果在struts.xml文件中没有被设置成其他方法的话)。
10) ActionInvocation根据Action执行返回的结果码,查出对应的result,调用result的execute(invocation)方法,将结果页面呈现给用户。
11) ActionInvocation的invoke()方法将控制权返回给拦截器映射中的最后一个拦截器,该拦截器完成所有必需的后期处理工作,然后从intercept (invocation)方法返回,允许前一个拦截器执行它自己的后处理工作,如此反复直到所有的拦截器都成功的返回。
12) ActionInvocation的invoke()方法执行完毕后,向ActionProxy返回一个String类型的结果码,最后ActionProxy清理状态并返回。
- struts2 之 处理流程
- Struts2 四、Struts2 处理流程
- Struts2框架处理流程
- Struts2的处理流程
- struts2的处理流程
- Struts2的处理流程
- Struts2请求处理流程
- struts2处理流程
- struts2处理流程
- Struts2请求处理流程
- Struts2的处理流程
- Struts2请求处理流程
- struts2的处理流程
- struts2处理流程
- struts2的处理流程
- Struts2请求处理流程
- Struts2处理流程
- Struts2内部处理流程
- 正则"\b" 查找字符边距关于连字符的问题
- linux mount命令详解
- poj3071
- 变分法(calculus of variantions )
- 【北理工研究生复试上机题】邮票面额问题
- struts2 之 处理流程
- 广州软件测试俱乐部 - 安全测试实验环境开放
- 做几个 有关文件读写的练习
- postgresql 中怎样在select中直接得到行号(转自:http://topic.csdn.net/u/20070116/11/7c907484-6bb8-4c6d-97b3-243aacb)
- Java实现文件的上传
- 【转】Unity 卸載未使用的資源
- PLASMA
- mongodb
- CSDN博客一周热文推荐