Struts2运行流程

来源:互联网 发布:linux proccess port 编辑:程序博客网 时间:2024/04/29 15:15

Struts2的运行流程:
通过debug调试查看源码可以看到Struts2的运行流程
这里写图片描述
1. 请求发送给 StrutsPrepareAndExecuteFilter
2. StrutsPrepareAndExecuteFilter 判定该请求是否是一个 Struts2 请求, 若该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter 把请求的处理交给 ActionProxy,ActionProxy 是 Action 的一个代理类,也就是说Action的调用是通过 ActionProxy 实现的,其实就是调用了ActionProxy.execute()方法,而该方法又调用了ActionInvocation.invoke()方法
3. ActionProxy 创建一个 ActionInvocation 的实例,并进行初始化
4. ActionInvocation 实例在调用 Action 的过程前后,涉及到相关拦截器(Intercepter)的调用。ActionInvocation就是Action的调用者。ActionInvocation在Action的执行过程中,负责Interceptor、Action和Result等一系列元素的调度。
5. Action 执行完毕,ActionInvocation 负责根据 struts.xml 中的配置找到对应的返回结果。调用结果的 execute 方法,渲染结果。
6. 执行各个拦截器 invocation.invoke() 之后的代码

0 0
原创粉丝点击