Struts2完成一次请求的过程
2014-12-03 23:25
197 查看
Struts2请求过程:
1.当Servlet容器接收到一个请求后,将请求交给你在web.xml文件中配置的过滤器FilterDispatcher,调用它的doFilter()方法。
2.FilterDispatcher询问ActionMapper,以便确定这个请求是否有对应的action调用。
3.ActionMapper放回一个描述了actin调用的ActionMapping对象。
4.FilterDispatcher调用Dispatcher类的serviceAction()方法。
5.Dispatcher调用ActionProxy的execute()方法。
6.ActionProxy设置ActionInvocation对象的执行上下文,然后调用其invoke()方法。
7.ActionProxy的invoke()方法从拦截器映射中查找尚未执行的拦截器,调用它的intercept(invocation)方法,并将自身对象的引用作
为参数传递给拦截器。
8.拦截器完成某些预处理工作后,反过来调用ActionInvocation的invoke()方法。ActionInvocation维护着自己的状态,所以它知道哪些
拦截器已经被执行,如果还没有被执行的拦截器,就继续执行它的intercept(invocation)方法。
9.如果所有的拦截器都已经执行过了,就调用action实例的execute()方法(如果在struts.xml文件中没有被设置成其它方法的话)。
10.ActionInvocation根据action执行返回的结果码,查找对应的Result,调用Result的execute(invocation)方法,将结果页面呈现给用
户。
11.ActionInvocation的invoke()方法将控制权返回给拦截器映射中的最后一个拦截器,该拦截器完成所有的后期处理工作,然后从
intercept(invocation)方法返回,允许前一个拦截器执行它自己的后处理工作。如果反复,直到所有拦截器都成功返回。
12.ActionInvocation的invoke()方法执行完毕后,向ActionProxy返回一个String类型的结果码,最后,ActionProxy清理状态并返回。
1.当Servlet容器接收到一个请求后,将请求交给你在web.xml文件中配置的过滤器FilterDispatcher,调用它的doFilter()方法。
2.FilterDispatcher询问ActionMapper,以便确定这个请求是否有对应的action调用。
3.ActionMapper放回一个描述了actin调用的ActionMapping对象。
4.FilterDispatcher调用Dispatcher类的serviceAction()方法。
5.Dispatcher调用ActionProxy的execute()方法。
6.ActionProxy设置ActionInvocation对象的执行上下文,然后调用其invoke()方法。
7.ActionProxy的invoke()方法从拦截器映射中查找尚未执行的拦截器,调用它的intercept(invocation)方法,并将自身对象的引用作
为参数传递给拦截器。
8.拦截器完成某些预处理工作后,反过来调用ActionInvocation的invoke()方法。ActionInvocation维护着自己的状态,所以它知道哪些
拦截器已经被执行,如果还没有被执行的拦截器,就继续执行它的intercept(invocation)方法。
9.如果所有的拦截器都已经执行过了,就调用action实例的execute()方法(如果在struts.xml文件中没有被设置成其它方法的话)。
10.ActionInvocation根据action执行返回的结果码,查找对应的Result,调用Result的execute(invocation)方法,将结果页面呈现给用
户。
11.ActionInvocation的invoke()方法将控制权返回给拦截器映射中的最后一个拦截器,该拦截器完成所有的后期处理工作,然后从
intercept(invocation)方法返回,允许前一个拦截器执行它自己的后处理工作。如果反复,直到所有拦截器都成功返回。
12.ActionInvocation的invoke()方法执行完毕后,向ActionProxy返回一个String类型的结果码,最后,ActionProxy清理状态并返回。
相关文章推荐
- Struts2完成一次请求的过程
- J2EE基础之——一次WEB请求响应的过程
- struts2的请求处理过程源码分析
- 一次http事务的完成过程:(web服务器端)
- struts2 请求过程源码分析【精】
- struts2请求过程源码分析
- struts2 中action的可重用性体现在:一个action可为不同请求所调用并完成不同的功能
- oracle设置定时任务来调用存储过程完成统计(每小时计时一次存到hour表)
- struts2请求过程源码分析
- struts2的请求处理过程源码分析
- Struts2使用注解,完成请求响应,实现零配置
- Struts2对请求的处理过程
- HBase一次慢查询请求的问题排查与解决过程
- struts2请求处理过程源代码分析(2)
- struts2请求过程源码分析
- 一步一步制作jquery插件Tabs(ajax只请求一次效果,78行完成)
- struts2请求处理过程源代码分析(1)
- struts2处理请求的过程
- struts2请求过程源码分析
- struts2请求过程源码分析