Struts2请求处理流程
1.客户端发送请求(客户端初始化一个指向servlet容器(如tomcat)的请求)
2.请求经过一系列过滤器(如ActionContextCleanUp,SiteMesh等),ActionContextCleanUp-->FileterDispatcher
3、FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action 如果不是调用action 则直接执行你的资源
4、如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy,
5、ActionProxy通过Configuration Manager询问Struts配置文件(Struts.xml),找到需要调用的Action类。
6、ActionProxy创建一个ActionInvocation的实例
7、ActionInvocation通过一系列的拦截器调用真正的Action,当然这涉及到相关拦截器的调用
8、Action执行完毕,ActionInvocation创建Result并返回,返回结果前要做些动作也是可以的
网友评论