`
在水伊方
  • 浏览: 107242 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Struts2--工作流程

 
阅读更多

下图描述了Struts 2 的整体结构

 



 

 

1、 在上图中客户端初始化一个指向Servlet容器(例如 Jetty 或者Resin)的请求

2 、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin

3 、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action

4 、如果ActionMapper决定需要调用某个ActionFilterDispatcher把请求的处理交给ActionProxy

5、 ActionProxy通过Configuration Manager询问框架的配置文件(从struts.xml文件开始),找到需要调用的Action

6 、ActionProxy创建一个ActionInvocation的实例,ActionInvocation实例使用命名模式来调用

7、在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

8 、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper

       : 在上述过程中所有的对象(ActionResultsInterceptors,等)都是通过ObjectFactory来创建的。ObjectFactory是非常灵活的,当需要知道对象在框架中被创建时,我们可以在任何情况下提供我们自己的ObjectFactory。一种比较流行的实现ObjectFactory的方法是用Spring提供的ObjectFactory

9 、调用视图之后,会再次以相反的顺序经过拦截器

10 、最后响应经过web.xml配置文件的过滤器,如果ActionContextCleanUp 存在,FilterDispatcher 将不会清除本地线程中的ActionContext,否则,将会清除所有本地线程。

 

参考:http://struts.apache.org/release/2.3.x/docs/big-picture.html 

当然也有参考网上别人翻译的^ ^!

 

  • 大小: 64.7 KB
分享到:
评论

相关推荐

    Struts详解---Struts的起源 Struts的流程 Struts框架 Struts2

    Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准 Struts2和Struts1的不同

    Struts2工作流程图

    虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度...

    Struts2 运行流程分析

    Struts2 运行流程分析,Struts2 运行流程分析,Struts2 运行流程分析

    Struts2工作流程

    Struts2的工作流程及struts2配置文件中各属性的含义

    struts2-01-源代码

    使用Struts2完成客户列表显示的功能.。Struts2是一种基于MVC 模式的轻量级Web 框架,它自问世以来,就受到了广大 Web 开发者的 关注,并广泛应用于各种企业系统的开发中。 ...Struts2 的执行流程:

    Struts2-S2-029漏洞分析1

    我把OGNL表达式的执行流程走了一遍,发现Struts2开发人员在对ONGL表达式中的赋值操作时将判断条件写反了,这样一来就直接导致了前边做的所有的安全策略,在

    struts2-04-源代码.rar

    使用Struts2完成客户列表显示的功能.。Struts2是一种基于MVC 模式的轻量级Web 框架,它自问世以来,就受到了广大 Web 开发者的 关注,并广泛应用于各种企业系统的开发中。 ...Struts2 的执行流程:

    struts2-03-源代码.rar

    使用Struts2完成客户列表显示的功能.。Struts2是一种基于MVC 模式的轻量级Web 框架,它自问世以来,就受到了广大 Web 开发者的 关注,并广泛应用于各种企业系统的开发中。 ...Struts2 的执行流程:

    struts2-02-源代码.rar

    使用Struts2完成客户列表显示的功能.。Struts2是一种基于MVC 模式的轻量级Web 框架,它自问世以来,就受到了广大 Web 开发者的 关注,并广泛应用于各种企业系统的开发中。 ...Struts2 的执行流程:

    struts2工作流程

    struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程struts2工作流程

    struts-sprint-hibernate

    struts-sprint-hibernate 开发案例介绍 介绍了struts-sprint-hibernate 模式的开发流程

    struts2入门实例和工作(流程)原理

    struts2入门实例和工作(流程)原理struts2入门实例和工作(流程)原理struts2入门实例和工作(流程)原理struts2入门实例和工作(流程)原理

    struts2框架处理流程

    包含了struts2的处理流程以及struts2的配置文件,并附有处理流程显示图,更加清楚直观。

    Struts2详细工作流程

    Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts 2是WebWork的升级版本。Struts 2框架按照模块来划分,可以分为Servlet Filters、Struts核心模块、拦截器和用户实现部分。

    超详细struts2执行流程图

    这张流程图 深刻的描述了 struts2的执行流程 帮助了解Struts2

    struts2流程与流程图

    一个请求在Struts 2框架中的处理大概分为以下几个步骤。  客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入 http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)...

    Struts工作流程

    Struts工作流程

    Struts2的工作流程及配置文件

    Struts2的工作流程及配置文件

Global site tag (gtag.js) - Google Analytics