Struts2工作流程

Struts2介绍:

  Struts2是基于mvc设计模式的web层框架,struts2作为控制器(Controller)来建立模型与视图的数据交互,struts2以WebWork为核心,采用拦截器机制处理用户的请求。

Struts2工作原理:

  基于下图来介绍:

   

 当请求为:http://localhost:8080/Save.action,

(1)用户发送Save请求经过一系列过滤器(ActionContextCleanUp是一种可选过滤器),到达Struts2的核心过滤器;

(2)Struts2的核心过滤器:struts2的2.1版本之前是FilterDispatcher,2.1版本之后是StrutsPrepareAndExecuteFilter,核心过滤器询问ActionMapper是否调用Save这个Action

(3)ActionMapper决定调用名称为Save的Action,核心过滤器将收到调用信息,将请求交给ActionProxy;

(4)ActionProxy通过ConfigurationManager去查找struts.xml文件,找到名称为Save的Action;即:

       

(5)找到之后,ActionProxy创建一个ActionInvocation的实列;

(6)ActionInvocation首先调用一系列拦截器,然后再调用Action的方法,并获取到返回的结果,找到相应的jsp页面,再反向调用拦截器;

(7)最后响应jsp页面给用户。

 参考文章:https://www.jianshu.com/p/3f2f11cb7562

  

原文地址:https://www.cnblogs.com/YpfBolg/p/10957509.html