struts2的执行流程

struts框架中,用户是如何进行与服务器的之间的通讯?

1 Web容器接收到一个请求的时候。此时她会将请求交给交给Struts2的前端控制器(StrutsPrepaereAndExecuteFilter)之前的版本叫做FilterDispatcher.(类似于springMVCDispatcherServlet)

2然后它将调用ActionMapper(类似于springMvc的处理器映射器),来确定调用哪个Action。返回给前端控制器要执行的action对象的相关信息。

3 然后,前端控制器再委任ActionProxy对象(类似于springMVC处理器适配器),读取配置信息,然后会调用配置管理器(ConfigurationManager)创建ActionInvocation对象,执行对应的Action,执行之前他会调用所有的拦截器。Action会返回结果。ActionInvocation会负责查找结果字符串对应的ResultResult会调用jsp模板。

4 通过HttpServletResponse响应给客户端。

下面是根据自己的理解画出的执行流程草图:

struts2的执行流程