一个请求在Struts2框架中的处理大概分为以下几个步骤:
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求.
2 这个请求经过一系列的过滤器(Filter).(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action.
4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy.
5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类.
6 ActionProxy创建一个ActionInvocation的实例。
7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper.
在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的.
分享到:
相关推荐
Struts2 的请求流程可以分为以下几个步骤: 1. 客户端发送请求 2. 请求先通过 ActionContextCleanUp-->FilterDispatcher 3. FilterDispatcher 通过 ActionMapper 来决定这个 Request 需要调用哪个 Action 4. 如果 ...
在深入探讨Struts2的工作流程之前,我们先了解一下MVC模式的基本概念。MVC模式将应用逻辑分隔为三个部分:模型(Model)处理业务逻辑,视图(View)负责展示数据,控制器(Controller)协调用户输入和模型间的交互。...
在深入理解Struts2的工作流程之前,我们需要先了解一些基本概念。 1. **MVC模式**: MVC模式将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。模型负责业务逻辑,视图负责显示...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
一个请求在Struts 2框架中的处理大概分为以下几个步骤。 客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入 http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)...
3. **Struts2请求流程**: - 客户端发起请求。 - 请求经过ActionContextCleanUp过滤器,清理上下文。 - FilterDispatcher利用ActionMapper确定Action。 - ActionProxy根据ActionMapping和ConfigurationManager...
在Struts2中,请求的处理流程涉及多个组件和步骤,确保了请求的正确路由、业务逻辑的执行以及响应的生成。以下是Struts2请求处理的详细分析: 1. **初始化请求**:客户端发起一个HTTP请求到Servlet容器,如Tomcat或...
在Struts 1.2.x中,请求处理流程是整个框架的核心部分,它涉及到了从用户发起请求到服务器响应的完整过程。下面将详细解释这个流程。 1. **请求开始**: 当用户通过浏览器向服务器发送HTTP请求时,请求通常会指向一...
如果URL映射与Struts2配置文件中的Action配置相匹配,请求将被转发给Struts2框架。 2. **过滤器Dispatcher初始化**:在请求到达Action之前,它会通过一系列过滤器,其中最重要的是`StrutsPrepareAndExecuteFilter`...
在使用Struts2进行开发时,遵循一定的流程可以帮助我们更好地组织代码和管理项目。以下是基于提供的部分内容详细描述的Struts2开发流程: 1. **引入Struts2的JAR包**: 开发Struts2应用的第一步是将Struts2的库...
Struts2的核心过滤器是`FilterDispatcher`,它负责整个请求/响应的处理流程。在`web.xml`中配置过滤器的顺序非常重要,因为它们会按照配置的顺序依次执行。例如,下面展示了如何配置字符编码过滤器和Struts2过滤器:...
在本文中,我们将深入理解Struts2的运行流程,并通过单元测试来验证其完整的工作机制,特别是涉及拦截器、验证框架和Result。 首先,让我们回顾一下Struts2的运行流程。当一个HTTP请求到达服务器时,Struts2框架会...
总之,"Struts2详细分类流程API文档"涵盖了Struts2框架的核心流程和API,包括Action、Interceptor、Result的使用,以及Struts2标签库和OGNL等重要概念。开发者可以通过这份文档深入理解Struts2的工作原理,提高开发...
下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目需求分析 在 Struts2 项目开发中,需求分析是非常重要的一步。通过对项目的需求分析,可以...
1. **流程概述**:在Struts2中,请求首先由`StrutsPrepareAndExecuteFilter`处理。如果请求是Action,框架将创建`ActionInvocation`,并通过`ActionProxy`准备`Action`和拦截器链。执行拦截器后,执行`Action`的方法...
b)根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助(SiteMeshPlugin),主要清理当前线程的ActionContext和Dispatcher;c)请求经过插件...