struts2工作流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2工作流程相关的知识,希望对你有一定的参考价值。

1、客户端请求一个HttpServletRequest的请求

 

2、这个请求经过一系列的过滤器(Filter)如(ActionContextCleanUp、其他过滤器(SiteMesh等)、FilterDispatcher)。注意:这里是有顺序的,先ActionContext CleanUp,再其他过滤器(Othter Filters、SiteMesh等),最后到FilterDispatcher。

FilterDispatcher是控制器的核心,就是MVC的Struts 2实现中控制层(Controller)的核心。

 

3、FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个(HttpServlet Request)请求,如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求的处理交给ActionProxy

 

4、ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,找到需要调用的Action类。例如,用户注册示例将找到UserReg类

 

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

 

6、 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result

 

7、最后通过HTTPServletResponse返回客户端一个响应。

以上是关于struts2工作流程的主要内容,如果未能解决你的问题,请参考以下文章

Struts2工作流程

Struts2工作流程

Struts2工作流程

走进Struts2 — Struts2的执行流程及其工作原理

Struts2 工作流程

struts2工作流程