struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说
struts2是struts1和Webwork结合的产物。
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 框架中继承的标签。
相关推荐
`struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器的实现方式,以及Struts2如何整合其他技术,如Spring或Hibernate进行依赖注入和持久化操作。...
struts2原理图
**Struts2原理:** Struts2是在Struts1的基础上发展起来的,它融合了WebWork框架的许多特性。Struts2的核心是.struts2-struts.xml配置文件,它定义了Action和Result。请求到达时,由FilterDispatcher(或后来的...
### Struts1与Struts2原理及区别详解 #### Struts1原理概述 **Struts1** 是一种基于MVC架构的开源Java Web框架,它主要用于构建动态网站和应用程序。Struts1的核心组件包括ActionServlet、ActionForm以及Action...
### Struts2原理分析 #### 一、Struts2架构概览 Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架。它将Web应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分,...
下面我们将详细探讨Struts2的原理和搭建过程。 **Struts2原理** 1. **拦截器机制**:Struts2的核心特点之一是其拦截器链,它允许开发者插入自定义的处理逻辑在Action执行前后。拦截器可以用于权限验证、日志记录、...
第02章 Struts2原理及配置
Struts2的设计理念和工作流程与WebWork框架相似,可以认为Struts2是对WebWork的升级和扩展,吸收了WebWork的优点,同时改进了Struts1的一些不足,如更简洁的配置和更强大的动作映射。 8. **集成其他框架**: ...
作为struts2的初学者,有时候理解struts框架的原理,网上看图会一头雾水,所以要是能自己体会实现struts框架的整个过程,对理解struts思路会更加清晰一些,这个源码就是自己实现的过程,代码有详细注释
struts2工作原理、请求响应流程。。。。。。。。。。。。。。。
在深入理解Struts2的工作原理之前,我们先了解一下基本概念。 **1. MVC模式** MVC模式是一种软件设计模式,将业务逻辑、数据和用户界面分离,使得开发更易于管理和维护。在Struts2中,Action对应Controller,负责...
在本文中,我们将深入探讨Struts2的原理和实践,以一个简单的登录示例来阐述其关键组件和工作流程。 首先,我们来看一下开发Struts2应用的基本步骤: 1. **定义视图(Views)**:视图通常由JSP页面组成,负责展示...
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,...
Struts2是一个流行的Java web开发框架,主要用于构建MVC(模型-视图-控制器)架构的应用程序。它的设计目标是简化开发过程,提供强大的验证和国际化功能,以及灵活的插件架构。Struts2的核心是基于拦截器的Action...
#### 一、Struts2原理概述 **1.1 为什么要用Struts2** 在探讨为何使用Struts2之前,我们先简要回顾一下Struts2的一些基本特点: - **模块化设计**:Struts2采用模块化的架构设计,使得各个组件易于替换和扩展。 -...
**Struts2原理** Struts2框架通过拦截器(Interceptor)机制实现了请求处理的流程控制。当一个请求到达时,Struts2的前端控制器(Front Controller)——StrutsPrepareAndExecuteFilter会拦截这个请求,然后按照配置...
根据提供的文件信息,“Struts框架原理图”主要阐述了Struts框架的工作原理、流程以及页面间的跳转机制。为了更好地理解和应用Struts框架,本文将深入解析这些关键知识点。 ### Struts框架概述 Struts是一个开源的...
Struts2框架作为Java Web开发领域中的一款经典MVC(Model-View-Controller)框架,其工作原理涉及到了一系列复杂的组件交互与流程控制。本文将深入解析Struts2的工作流程,帮助开发者理解其核心机制。 ### 一、...
理解Struts2的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍Struts2的工作流程。 1. **请求接收**:当用户在浏览器中提交一个HTTP请求时,这个请求首先会被Web服务器(如Apache Tomcat)接收到。如果...