struts2流程简述

一、这是Struts2官方提供的Struts 2 的整体流程结构

struts2流程简述_第1张图片


二、下面用文字描述struts2的处理流程

 

一个请求在struts2框架中的处理大致分为以下四个步骤


1、客户端(浏览器)发起一个HttpServletRequest请求;


2、请求经过一系列过滤器(Filter)处理(主要有三层):

注意先后顺序:

     a) 先ActionContextCleanUp;

     b) 在其他过滤器(Other Filters:SiteMesh,ect);

     c) 最后是FilterDispacher(FilterDispacher是控制器的核心,就是MVC中C控制器的核心)。


3、FilterDispacher询问ActionMapper是否需要调用某个Action来处理这个request请求;如果ActionMapper决定调用某个Action,FilterDispacher就把请求的处理交给ActionProxy。


4、 ActionProxy通过Configuration Manager 询问框架的struts.xml配置文件,找到需要调用的Action类;


5、 ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action,在调用之前,ActionInvocation会根据配置加载Action相关的所有的Interceptor(拦截器)。


6、 当Action执行完毕,ActionInvocation负责根据struts.xml文件中配置的result找到对应的返回结果,跳转到另一个action或者是jsp页面。






你可能感兴趣的:(struts2)