`
jiaguwen123
  • 浏览: 415164 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

struts2工作原理

阅读更多
一个请求在Struts2框架中的处理分为以下几个步骤:
1.客户端发出一个指向servlet容器的请求(tomcat);
2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。
3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。
如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper类来查找请求中需要用到的Action。
4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。
5.ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。
6.ActionInvocation实例使用命名模式来调用,1. ActionInvocation初始化时,根据配置,加载Action相关的所有Interceptor。2. 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。
7. 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。
分享到:
评论

相关推荐

    Struts2工作原理

    ### Struts2工作原理深度解析 #### 引言 Struts2框架,作为Java Web开发领域的一款重要工具,其设计理念源自于WebWork框架,并融合了Struts1的优点,旨在提供更为强大、灵活的MVC(Model-View-Controller)架构...

    struts2工作原理.doc

    ### Struts2工作原理 #### 一、Struts2简介 Struts2是Apache软件基金会的一个开源项目,它是Struts1的下一代版本,基于WebWork框架,并融合了Struts1的一些特性,形成了一个新的MVC(Model-View-Controller)框架...

    struts2工作原理及拦截器和过滤器

    Struts2 工作原理及拦截器和过滤器 Struts2 框架的工作原理可以分为以下几个步骤: 1. 客户端发出一个指向 Servlet 容器的请求(Tomcat); 2. 这个请求会经过几个过滤器,最后会到达 FilterDispatcher 过滤器。...

    Struts2 工作原理 Struts2框架 有图

    ### 二、Struts2工作流程详解 #### 1. 请求初始化 一切始于客户端发起的HTTP请求,该请求通常包含用户提交的数据和请求的资源标识符。请求首先到达Web服务器的Servlet容器,如Apache Tomcat。 #### 2. 过滤器链 ...

    struts2工作原理图

    理解Struts2的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍Struts2的工作流程。 1. **请求接收**:当用户在浏览器中提交一个HTTP请求时,这个请求首先会被Web服务器(如Apache Tomcat)接收到。如果...

    struts2工作原理及源码分析学习笔记

    在本文中,我们将深入探讨Struts2的工作原理和源码分析,以帮助理解其内在机制。 1. **Struts2架构图**: 当一个HTTP请求到达服务器时,它首先通过一系列Filter(过滤器),包括ActionContextCleanUp,该过滤器...

    struts2工作原理.

    总的来说,Struts2的工作原理是通过一系列的组件协作,实现了从用户请求到业务逻辑处理再到视图展示的完整流程。它通过拦截器机制提供了强大的扩展性,使得开发者可以轻松地插入自定义的行为,增强了应用程序的灵活...

    struts2工作原理.docx

    下面将详细解释Struts2的工作原理,以便深入理解其核心流程。 1. **客户端请求**:当用户在浏览器中发起一个HTTP请求,该请求会被发送到服务器上的Servlet容器,例如Apache Tomcat。 2. **过滤器链**:请求首先会...

    Struts2工作原理图

    现在我们来详细解析Struts2的工作原理。 首先,当客户端发起一个HTTP请求到服务器,这个请求会到达Servlet容器,如Tomcat。在Struts2框架中,一系列的过滤器(Filter)会介入这个请求处理流程。其中,...

    Struts2工作原理模拟

    在Struts2的工作原理中,有几个核心概念和技术值得深入理解: 1. **前端控制器(Front Controller)模式**:Struts2框架基于Servlet API中的Filter设计模式实现前端控制器,即`StrutsPrepareAndExecuteFilter`。它...

    struts2 工作原理.rar

    理解Struts2的工作原理是提升Java web开发技能的关键。 **工作流程** 1. **请求接收**:当用户在浏览器中发起HTTP请求,请求到达应用服务器,Struts2拦截器会捕获这个请求。Struts2的核心是Front Controller,即`...

    struts2配置与工作原理

    ### Struts2配置与工作原理详解 #### 一、Struts2概述 Struts2是Apache Struts项目下的一个开源框架,它继承了Struts1的...对于希望进一步了解Struts2工作原理的开发者来说,掌握以上提到的关键知识点是非常重要的。

Global site tag (gtag.js) - Google Analytics