struts2架构及请求流程分析
2011-05-19 16:47
585 查看
1.struts2架构图:
请求首先通过Filter
chain,Filter主要包括ActionContextCleanUp,它主要清理当前线程的ActionContext和
Dispatcher;FilterDispatcher主要通过AcionMapper来决定需要调用哪个Action。
ActionMapper取得了ActionMapping后,在Dispatcher的serviceAction方法里创建
ActionProxy,ActionProxy创建ActionInvocation,然后ActionInvocation调用
Interceptors,执行Action本身,创建Result并返回,当然,如果要在返回之前做些什么,可以实现
PreResultListener。
2. Struts2请求流程
1、客户端发送请求
2、请求先通过ActionContextCleanUp-->FilterDispatcher
3、FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action
4、如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy,这儿已经转到它的Delegate--Dispatcher来执行
5、ActionProxy根据ActionMapping和ConfigurationManager找到需要调用的Action类
6、ActionProxy创建一个ActionInvocation的实例
7、ActionInvocation调用真正的Action,当然这涉及到相关拦截器的调用
8、
Action执行完毕,ActionInvocation创建Result并返回,当然,如果要在返回之前做些什么,可以实现
PreResultListener。添加PreResultListener可以在Interceptor中实现,不知道其它还有什么方式?
请求首先通过Filter
chain,Filter主要包括ActionContextCleanUp,它主要清理当前线程的ActionContext和
Dispatcher;FilterDispatcher主要通过AcionMapper来决定需要调用哪个Action。
ActionMapper取得了ActionMapping后,在Dispatcher的serviceAction方法里创建
ActionProxy,ActionProxy创建ActionInvocation,然后ActionInvocation调用
Interceptors,执行Action本身,创建Result并返回,当然,如果要在返回之前做些什么,可以实现
PreResultListener。
2. Struts2请求流程
1、客户端发送请求
2、请求先通过ActionContextCleanUp-->FilterDispatcher
3、FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action
4、如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy,这儿已经转到它的Delegate--Dispatcher来执行
5、ActionProxy根据ActionMapping和ConfigurationManager找到需要调用的Action类
6、ActionProxy创建一个ActionInvocation的实例
7、ActionInvocation调用真正的Action,当然这涉及到相关拦截器的调用
8、
Action执行完毕,ActionInvocation创建Result并返回,当然,如果要在返回之前做些什么,可以实现
PreResultListener。添加PreResultListener可以在Interceptor中实现,不知道其它还有什么方式?
相关文章推荐
- 非常好的Struts2请求处理流程及源码分析(强烈推荐!)
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- struts2 处理请求流程分析(结合源码)3
- [Django架构流程分析]请求处理机制其一:进入Django前的准备
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- [Django架构流程分析]请求处理机制其二:Django中间件的解析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析
- Struts2请求处理流程及源码分析