Struts2工作流程

Posted eunice-sun

tags:

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

Struts2体系结构图:

技术图片

Struts2工作流程描述:

1、客户端发送一个HttpServletRequest的请求;

2、这个请求依次经过过滤器ActionContextCleanUp、其他过滤器(SiteMesh等)最后到FilterDispatcher。FilterDispatcher是控制器的核心,就是MVC的Struts 2实现中控制层(Controller)的核心;

3、FilterDispatcher调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象,然后FilterDispatcher把请求的处理权交给ActionProxy;

4、ActionProxy调用配置管理器ConfigurationManager从配置文件struts.xml中读取配置信息,找到需要调用的Action类;

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

6、 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果Result,然后执行这个Result,Result会调用一些模版(JSP)来呈现页面,拦截器(Interceptor)会再次被执行(顺序和Action执行之前相反);

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

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

Struts2工作流程

Struts2工作流程

Struts2工作流程

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

Struts2 工作流程

struts2工作流程