最近学习struts2,其实它就是webwork2.2的升级版,现附上原理图
上图来源于Struts2官方站点,是Struts 2 的整体结构。
一个请求在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的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍Struts2的工作流程。 1. **请求接收**:当用户在浏览器中提交一个HTTP请求时,这个请求首先会被Web服务器(如Apache Tomcat)接收到。如果...
现在我们来详细解析Struts2的工作原理。 首先,当客户端发起一个HTTP请求到服务器,这个请求会到达Servlet容器,如Tomcat。在Struts2框架中,一系列的过滤器(Filter)会介入这个请求处理流程。其中,...
### 二、Struts2工作流程详解 #### 1. 请求初始化 一切始于客户端发起的HTTP请求,该请求通常包含用户提交的数据和请求的资源标识符。请求首先到达Web服务器的Servlet容器,如Apache Tomcat。 #### 2. 过滤器链 ...
struts2原理图
这张图是理解Struts2工作流程的重要辅助工具,通过它你可以直观地看到每个组件如何协同工作。 `struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器...
根据提供的文件信息,“Struts框架原理图”主要阐述了Struts框架的工作原理、流程以及页面间的跳转机制。为了更好地理解和应用Struts框架,本文将深入解析这些关键知识点。 ### Struts框架概述 Struts是一个开源的...
1. Struts工作原理: Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。其主要目标是提供一个用于创建可维护性高、易于测试的Web应用程序的结构。Struts工作流程如下: - 用户通过浏览器向...
韩顺平老师讲的Struts运行原理,自己画的图,有需要可以参考下
理解Struts的工作原理对于开发高效且易于维护的Java Web应用至关重要。 ### Struts框架的核心组件 1. **核心控制器 (ActionServlet)**: Struts框架的核心是ActionServlet,它是一个实现了Servlet接口的类。在Web...
在本文中,我们将深入探讨Struts2的工作原理和源码分析,以帮助理解其内在机制。 1. **Struts2架构图**: 当一个HTTP请求到达服务器时,它首先通过一系列Filter(过滤器),包括ActionContextCleanUp,该过滤器...
好东西,是STRUTS的JSON插件!
FilterDispatcher的工作原理如下:当一个HTTP请求到达时,它会通过FilterDispatcher过滤器进行处理。FilterDispatcher会依据ActionMapper的规则来解析请求URL,决定哪个Action应该被执行以及调用哪个具体的方法。...
Struts2是Apache软件基金会的一个开源项目,是一个基于MVC(Model-View-Controller)设计模式的Java web应用...这份文档将帮助开发者深入理解Struts2的工作原理,从而更好地应用和优化框架,提高开发效率和系统性能。
韩顺平 struts 原理图
在IT行业中,集成不同的工具和服务以提升开发效率和用户体验是常见的任务。本案例涉及的是将xheditor富文本编辑器与Struts2...通过这个过程,开发者可以深化对Struts2工作原理、文件上传处理及富文本编辑器应用的理解。
一个请求在Struts 2框架中的处理大概分为以下几个步骤。 客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入 http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)...
**Struts2与Struts1框架原理详解及流程图** Struts2和Struts1是两种广泛应用于Java Web开发中的MVC(Model-View-Controller)框架,它们为开发者提供了结构化、可维护的代码组织方式,提高了开发效率。本文将深入...
struts2.0的工作原理:struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物。 struts2 的工作原理图
### Struts2原理分析 #### 一、Struts2架构概览 Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架。它将Web应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分,...
对于深入理解Struts2文件上传的工作原理,阅读源码是非常有帮助的。了解`FileUploadInterceptor`如何工作,以及`MultipartRequest`类如何解析Multipart请求,可以加深对整个过程的理解。 10. **实例实践** 博文...