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中的配置找到对应的返回结果。

原文地址:https://www.cnblogs.com/orchid9/p/7811766.html