`
myclover
  • 浏览: 195082 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts2配置文件

阅读更多
从一个struts开发者的角度来看,框架唯一必须的配置文件是web.xml,如上篇所说的0配置,它就只需要web.xml文件。通过web.xml文件,我们可以完全控制struts来配置它自身以及我们的应用程序。默认情况下,struts会装载一系列的内部配置文件来配置它自己,然后装载另外一系列的文件来配置应用程序,尽管只要一个web.xml文件就可以了,但是我们在开发一个完整的struts应用时通常并不会只使用一个web.xml配置文件,而是使用多个配置文件。下表列出了能够用于为我们的应用程序配置框架的的文件,有些配置文件是能够动态重新装载的。动态重载能够使我们的开发更具交互性,那么如何才能做到动态重载呢?   

Struts允许我们可以动态的重新装载xml配置文件,也就是说在我们的开发过程中,我们可以重新配置action mapping,这个会对性能产生一点影响,因此这种做法不是很推荐。为了使用动态重载,我们需要在struts.properties文件加入如下一行代码:

struts.configuration.xml.reload=false

表1:struts配置文件一览表

文件名
是否可选
文件位置
作用

web.xml
no
/WEB-INF/
Web部署描述符,包含了所有必须的框架组件

struts.xml
yes
/WEB-INF/classes
主要配置文件,包含了拦截器,action-mappings等等

struts.properties
yes
/WEB-INF/classes
框架的运行时属性

struts-default.xml
yes
/WEB-INF/lib/struts2-core.jar
由struts提供的默认配置文件

struts-default.vm
yes
/WEB-INF/classes
供velocity.properties参考的默认宏

struts-plugin.xml
yes
plug-in jar文件的根目录
可选的插件配置文件,格式同struts.xml

velocity.properties
yes
/WEB-INF/classes
覆盖默认的velocity配置



下面我们来详细看下表中的各个配置文件,因为在项目开发中只用到了前面四种配置文件,所以对后面3种就不作介绍了。

1.web.xml文件

对于开发JSP程序的人来说,这个文件再熟悉不过了,它通常被称为部署描述符,它代表了整个Java web应用程序的核心,很自然的它也是struts的核心部分之一。在web.xml文件中Struts定义了它的FilterDispatcher,这个Servlet过滤器负责初始化整个Struts框架请且处理所有的请求。这个过滤器可以包括一些初始化参数,有的参数指定了要加载哪些额外的xml配置文件,还有的会影响struts框架的行为。之前我们说配置一个Struts2环境的时候就讲了,配置一个Struts2的环境只需在web.xml文件中加上如下一段话即可:

<filter>

       <filter-name>Struts2</filter-name>

       <filter-class>

org.apache.struts2.dispatcher.FilterDispatcher

</filter-class>

    </filter>

    <filter-mapping>

       <filter-name>Struts2</filter-name>

       <url-pattern>/*</url-pattern>

    </filter-mapping>

这就是Struts所定义的FilterDispatcher。

    除了FilterDispatcher外,Struts还提供了一个ActionContexCleanUp类,这个类 有什么作用呢?它的主要任务是当有其它一些过滤器要访问一个初始化好了的struts框架的时候,负责处理一些特殊的清除任务。

处理这个FilterDispatcher外,web.xml文件和我们以前所用的web.xml文件貌似就没什么区别了,实际上关于FilterDispatcher还有很多可以说的,以后再单独说咯。

2.struts.xml文件

框架的核心配置文件就是这个默认的struts.xml文件,在这个默认的配置文件里面我们可以根据需要再包括其它一些配置文件。在通常的应用开发中,我们可能想为每个不同的模块单独配置一个struts.xml文件,这样也利于管理和维护。比如说我有一个模块叫做order,那么我这个模块所有的action相关信息配置在struts-order.xml中,还有一个模块叫member,那么我会把它的素有action相关信息配置在struts-member.xml中,那么我怎么告诉系统去装载这些文件呢?如下所示:

<struts>    <include file="struts-order.xml"/>    <include file="config-member.xml"/>    <package name="default" extends="struts-default">    </package></struts>使用include标签就可以引入其它的struts配置文件了,配置文件将按照它们在struts.xml中出现的顺序被装载。

3.struts.properties

在Struts框架使用了很多属性,我们可以通过改变这些属性来满足我们的需求。要改变这些属性,只需在struts.properties文件中指定属性的key和value即可。属性文件可以放在任何一个包含在classpath中的路径上,但是通常我们都把它放在/WEB-INF/classes目录下面。我们可以在struts-default.properties文件中找到一个属性的列表。文档上说可以在struts2.jar中找到这个属性文件,可是我一直没找到,:(。它里面都是一些struts的默认属性,我们可以在struts.properties中覆盖这些默认的属性值。

4.struts-default.xml

    struts-default.xml是一个基础配置文件,我们可以在struts2.jar中找到这个文件。struts-default.xml会自动包含(included)到struts.xml文件中,并为我们提供了一些标准的配置。鉴于struts-default.xml文件比较长,这里我就不把它的内容贴出来了,大家可以到struts2.jar中去找。

    剩下的3个配置文件中struts-plugin.xml和struts.xml文件格式是差不多的,其它两个因为项目中没怎么用,所以这里就不写了。
分享到:
评论

相关推荐

    struts2配置文件

    在Struts2中,配置文件主要分为两个部分:`struts-default.xml`和用户自定义的配置文件,如`struts.xml`或`struts-config.xml`。这些XML文件定义了Action、结果类型、拦截器和包等元素,从而控制应用程序的行为。 *...

    struts2 配置文件

    ### Struts2 配置文件详解 #### 一、引言 在Struts2框架的应用开发过程中,配置文件起到了至关重要的作用。Struts2主要依赖于两种基于XML的配置文件:`web.xml` 和 `struts-config.xml`(通常命名为 `struts.xml`)...

    struts2配置文件加载顺序

    1. **struts-default.xml**:这是Struts2的核心配置文件,位于`struts2-core.jar`库的`/org/apache/struts2/defaults`包内。它包含了框架的基本设置,如拦截器栈、默认Action配置等。 2. **struts-plugin.xml**:这...

    ·Struts2配置文件介绍 超级详细

    ### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...

    Struts2 配置文件

    配置SSH框架时关于Struts2的配置文件

    Struts 2 配置文件

    Struts 2 配置文件解析与深度剖析 在Java Web开发领域,Struts 2 框架作为MVC(Model-View-Controller)架构模式的杰出代表,以其强大的功能和灵活的配置赢得了广大开发者的青睐。Struts 2 的核心配置文件struts....

    struts2配置文件详细说明

    配置文件在Struts2中起着至关重要的作用,它定义了框架的行为、动作映射、拦截器和其他关键设置。以下是Struts2配置文件的一些核心元素和属性的详细说明: 1. **配置文件结构**: Struts2的配置通常存储在一个名为...

    struts2配置文件以及代码示例

    ### Struts2配置文件及其代码示例解析 #### 一、Struts2概述 Struts2是一个基于MVC模式的开源Web应用框架,它继承了Struts1的优点,并且进行了大量的改进,支持拦截器、结果类型、动态方法调用等功能。在Struts2中...

    struts2配置文件改变位置问题

    在Struts2中,`struts.xml`文件是核心配置文件,它定义了动作、结果、拦截器等关键组件。在默认情况下,`struts.xml`通常位于`src/main/resources`或在Web应用中是`WEB-INF/classes`目录下。 在描述的问题中,...

    struts2配置文件传值中文乱码

    本文将围绕“Struts2配置文件传值中文乱码”这一主题,深入探讨其成因、解决方案以及相关的配置细节,旨在帮助开发者有效解决中文乱码问题,提升用户体验。 ### Struts2框架简介 Struts2是Apache组织下的一个开源...

    struts2配置文件详解

    ### Struts2配置文件详解 #### 一、引言 在Java Web开发中,Struts2框架因其灵活性和强大的功能而被广泛采用。Struts2框架的配置主要通过多个XML文件来实现,这些配置文件定义了应用程序的行为和结构。本文将详细...

    Struts2 配置文件手册

    配置文件在Struts2框架中起着至关重要的作用,它们定义了框架的行为、拦截器、对象工厂以及各种组件的配置。下面将详细介绍Struts2配置文件中的关键元素。 1) **struts-default.xml**: 这是Struts2框架默认加载的...

    STRUTS2 配置文件

    一份基于.do拦截的struts2配置文件

Global site tag (gtag.js) - Google Analytics