struts2工作流程
struts2工作流程:
1、客户端发送一个指向servlet的请求
2、这些请求经过一系列的过滤器最终到FilterDispatcher过滤器。
3、FilterDispatcher过滤器调用ActionMapper判断请求是否有对应的Action。
4、如存在Action,那么过滤器FilterDispatcher会将请求交给Action的代理对象ActionProxy。ActionProxy通过ConfigurationManager询问框架配置文件,找到调用的Action类。
5、ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy之下,它持有Action的实例和所有的Interceptor,因为持有实例所以也可以说它控制着Action的执行步骤。
6、ActionInvocation实例使用命名模式来调用。ActionInvocation在初始化时,会根据配置加载Action相关的Interceptor。然后通过ActionInterceptor.invoke方法,执行Interceptor。在调用Action的过程前后,会涉及到拦截器(intecepetor)的调用。
7、当Action执行完毕后,ActionInvocation会根据struts.xml中的配置找到对应的返回结果。
作者:张九星
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。