1、ActionMapper和ActionMapping
org.apache.struts2.dispatcher.mapper.ActionMapper接口在HTTP请求和action调用请求之间提供一个映射。当给定一个HTTP请求时,ActionMapper根据请求的URI查找是否有对应的action,如果有,返回一个描述action调用的ActionMapping;如果没有,返回null。
ActionMapping本质上是一个数据传输对象,它将action类和要执行的方法的详细资料手机在一起。
2、ActionProxy和ActionInvocation
ActionProxy在XWork和真正的action之间充当代理角色,在通过框架执行action的过程中,因为是使用代理而不是直接操作对象,所以可以在代理中封装拦截器、result等额外代码。
ActionProxy持有ActionInvocation对象。ActionInvocation代表了action执行的当前状态。它持有拦截器(按顺序排列)、Action实例、结果映射(从结果吗到Result实例的映射)和ActionContext。
3、ActionContext
ActionContext是action执行的上下文。每一个上下文都相当于一个action执行所需的一组对象的容器,例如session、application、parameters、locale等。
ActionContext是线程本地的,这意味着在ActionContext中存储的值对于每个线程都是唯一的。所以对于某个action,如果要从ActionContext中获得数据,不需要担心线程安全的问题。
ActionContext的完整类名是com.opensymphony.xwork2.ActionContext。
4、ObjectFactory
com.opensymphony.xwork2.ObjectFactory负责构建核心的框架对象(拦截器、action、result等)。用户可以注册自己的ObjectFactory实现来控制这些对象的实例化。
你可以把ObjectFactory看成Struts2框架中一个专门负责创建对象的工厂,从这个工厂类派生的子类可以采用不同的方式来实例化对象。利用Struts2框架未ObjectFactory赋予的这种职责,通过提供ObjectFactory的自定义实现,可以很容易把框架和IoC容器(如Spring、Pico、Plexus等)集成在一起。
5、result
com.opensymphony.xwork2.Result接口代表action执行后的结果。每一个action执行都返回一个String类型的结果码,用于从配置的result元素列表中选择对应的result。result在Struts.xml文件中的配置
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/noside/archive/2009/02/16/3897102.aspx
分享到:
相关推荐
在 Struts2 中,**Result** 是一个重要的组成部分,它负责将 Action 执行后的结果展示给用户。 **Result** 在 Struts2 配置文件(通常是 struts.xml)中被定义,用来指定 Action 处理完业务逻辑后如何响应客户端...
总之,Struts2的类型转换机制是其灵活性和易用性的关键组成部分。理解并熟练掌握这一机制,能够帮助开发者更好地构建和维护Java web应用程序。在实际开发中,要根据项目需求灵活运用内置转换器、自定义转换器以及...
以上是Struts2框架的一些关键组成部分,这些`.jar`文件组合起来,构建了一个完整的Struts2运行环境,使开发者能够快速高效地开发出符合MVC架构的Web应用程序。在实际项目中,根据具体需求,可以选择使用或排除某些...
规划整个项目的结构和组成部分,包括技术栈的选择、开发环境的搭建等。 **3.4.3 规划源代码树** 这部分讲述了如何合理组织项目的源代码结构。 **3.4.4 设置开发工具** 介绍了搭建开发环境所需的工具和配置。 **...
这种解耦使得每个部分都可以独立开发、测试和修改,提高了代码的可维护性。 标签“Struts的学习”意味着我们要深入理解Struts框架的各个方面,包括但不限于: 1. **配置文件**:struts-config.xml或struts2-config...
在Struts2中,配置文件是关键组成部分,主要包括struts.xml。这个文件定义了Action、Result、Interceptor等元素,用于配置应用的行为。Action是处理用户请求的核心,每个Action对应一个业务逻辑。Result是Action执行...
Interceptor链是由用户自定义的拦截器和Struts2内置的拦截器组成,例如PrepareInterceptor会确保Action实例被正确初始化。Action执行完成后,Result对象会根据配置的类型和值来决定如何处理返回的结果。 此外,...
- **开源背景**:Struts作为Apache项目的组成部分,是一个完全开源的框架,允许开发者免费使用并贡献代码。 - **名称由来**:名称“Struts”来源于建筑术语“strut”,意指提供支持的结构构件。在软件工程中,Struts...
总的来说,Struts2lib.jar是Struts2框架的核心组成部分,包含了实现MVC设计模式所需的各类组件和依赖。理解其工作原理以及如何与其他库协同工作,对于开发高质量的Java Web应用至关重要。在项目中,正确管理和使用...
这个库是Struts2内部工作原理的重要组成部分,处理了动作执行、参数绑定和异常处理。 3. `freemarker-2.3.19.jar`:FreeMarker是一个模板引擎,用于生成动态HTML或其他格式的文本。在Struts2中,它通常用来生成视...
总之,Struts2标签库是Struts2框架的核心组成部分,它通过提供丰富的标签,极大地简化了视图层的开发,提高了代码的可读性和可维护性。熟练掌握和运用Struts2标签库,能有效提升Java Web应用的开发质量和效率。
- JSP 页面用于展示数据,是视图层的主要组成部分。 #### 三、搭建 Struts2 开发环境 1. **拷贝 jar 包**: - 必要的 Jar 包包括: - `struts2-core-2.3.1.1.jar`: Struts2 核心库。 - `xwork-core-2.3.1.1.jar`:...
Struts2 API是这个框架的核心组成部分,它包含了各种Action、Interceptor、Result和其他组件的接口和类,使得开发者可以方便地进行业务逻辑处理、数据验证、视图渲染等操作。 在"struts2api.zip"中,我们可以找到...
在Struts2中,jar包是关键组成部分,它们包含了框架运行所需的类和库。以下是一些主要的Struts2 jar包及其作用: 1. **struts2-core.jar**:这是Struts2的核心库,包含了框架的主要组件,如Action类、Result类型、...
总结起来,Struts2的配置涵盖了表单验证、类型转换、拦截器和视图标签等多个方面,这些都是构建高效、健壮的Java web应用的重要组成部分。通过对这些组件的熟练掌握和灵活配置,开发者可以创建出符合业务需求且易于...
- **Controller**:主要由Struts框架提供的`ActionServlet`和`Action`类组成,用于处理用户的请求并调用相应的模型。 #### 第三章 Struts体系结构 ##### 3.1 Framework概念 框架(Framework)是一套预先定义好的...
首先,让我们来看看Struts2的基本组成部分: 1. **模型(Model)**:这是应用程序的核心业务逻辑,通常由Java类实现。模型负责处理数据和业务规则。 2. **视图(View)**:视图是用户看到和与之交互的部分。在...
`struts-2.5.22-all`这个压缩包名称暗示了它包含了Struts2框架的所有组成部分,可能包括: 1. `struts2-core.jar`:核心框架,提供基础的MVC功能。 2. `struts2-convention-plugin.jar`:约定优于配置的插件,使得...
Struts 2是Java Web开发中的一个开源框架,主要用于构建MVC(模型-视图-控制器)架构..."struts-2.3.32-all"包是学习和使用Struts 2不可或缺的资源,涵盖了框架的所有组成部分,对于Java Web开发者来说具有很高的价值。