在默认情况下,Struts2只自动加载类加载路径下的struts.xml.default-struts.xml和struts-plugin.xml三类文件。但是随着应用规模的增大,系统中Action数量也大量增加,将导致struts.xml非常臃肿。为了避免这种这情况,我们可以将struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。被包含的配置文件也是标准的Struts2配置文件,一样包含了DTD信息,根元素等信息。

以下是struts.xml配置文件的示范。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<!-- Struts2 是配置文件的根元素 -->
<struts>
<!-- 下面的元素可以出现0次或者无限次-->
<constant name="" value=""/>
<!-- 下面的元素可以出现0次或者无限次-->
<bean type="" name="" class="" scope="" static="" optional="" />
<!-- 下面的元素可以出现0次或者无限次-->
<include file="" />
<!-- package元素是Struts2配置文件的核心,package元素可以出现0次或者无限次-->
<package name="必填" extends="" namespace="" abstract="" externalReferenceResolver="">
<!-- 下面的元素可以出现0次或者1次-->
<result-types>
<!-- 下面的元素可以出现1次或者无限次-->
<result-type name="" class="" default="true|false">
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</result-type>
</result-types>
<!-- 下面的元素可以出现0次或者1次-->
<interceptors>
<!-- 该元素的interceptor元素和interceptor-stack至少出现其中之一,或者同时出现 -->
<!-- 下面的元素可以出现0次或者无限次-->
<interceptor name="" class="">
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</interceptor>
<!-- 下面的元素可以出现0次或者无限次-->
<interceptor-stack name="">
<!-- 下面的元素可以出现1次或者无限次-->
<interceptor-ref name="">
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 下面的元素可以出现0次或者1次-->
<default-interceptor-ref name="">
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</default-interceptor-ref>
<!-- 下面的元素可以出现0次或者1次-->
<default-action-ref name="">
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</default-action-ref>
<!-- 下面的元素可以出现0次或者1次-->
<default-class-ref class="">...</default-class-ref>
<!-- 下面的元素可以出现0次或者1次-->
<global-results>
<!-- 下面的元素可以出现1次或者无限次-->
<result name="" type="">
映射资源
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</result>
</global-results>
<!-- 下面的元素可以出现0次或者1次-->
<global-exception-mappings>
<!-- 下面的元素可以出现1次或者无限次-->
<exception-mapping name="" result="" exception="" result="">
异常处理资源
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</exception-mapping>
</global-exception-mappings>
<!-- 下面的元素可以出现0次或者无限次-->
<action name="" class="" method="" converter="" >
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
<!-- 下面的元素可以出现0次或者无限次-->
<result name="" type="">
映射资源
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</result>
<!-- 下面的元素可以出现0次或者无限次-->
<interceptor-ref name="">
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</interceptor-ref>
<!-- 下面的元素可以出现0次或者无限次-->
<exception-mapping name="" result="" exception="">
<!-- 下面的元素可以出现0次或者无限次-->
<param name="name">value</param>
</exception-mapping>
</action>
</package>
<!-- 下面的元素可以出现0次或者1次-->
<unknown-handler-stack>
<unknown-handler-ref name="处理器名">...</unknown-handler-ref>
</unknown-handler-stack>
</struts>

【学习笔记】Struts2之配置文件struts.xml的更多相关文章

  1. struts2之配置文件struts.xml详解

    struts配置文件 struts.xml配置参数详解 struts.xml中很大一部分配置默认配置就好了 但是有些还是需要做了解  以便于理解 和修改 <?xml version=" ...

  2. struts2学习笔记(3)struts.xml的一些常用设置

    在开发中通常需要用到多个配置文件,可以通过在web.xml中添加以下代码: <include file="login.xml"></include> 将sr ...

  3. Struts2更改配置文件struts.xml默认路径

    struts2配置文件默认存放路径在/WEB-INF/classes目录下,即将struts.xml放在src的目录下. 但是为了协作开发与方便管理,我们有时需要把struts.xml放到其他位置 s ...

  4. struts2配置文件struts.xml的简介

    本文在于总结,深入研究有别人写的很好了,也没必要再去写,将在本文后面附上他们的文章地址: 一.struts2的执行过程: 二.struts2的配置文件struts.xml 下面是其三大部分includ ...

  5. struts2默认配置文件 struts-default.xml

    注:用的struts2的版本是2.1.6 strtus2的默认配置文件 struts-default.xml ,其中的默认的拦截器,包括其中的拦截器栈. 因为struts2的配置文件struts.xm ...

  6. Struts2学习笔记——Struts2与Spring整合

      Struts2与Spring整合后,可以使用Spring的配置文件applicationContext.xml来描述依赖关系,在Struts2的配置文件struts.xml来使用Spring创建的 ...

  7. SpringBoot学习笔记:读取配置文件

    SpringBoot学习笔记:读取配置文件 配置文件 在以往的项目中,我们主要通过XML文件进行框架配置,业务的相关配置会放在属性文件中,然后通过一个属性读取的工具类来读取配置信息.在SpringBo ...

  8. Struts2笔记1:--Struts2原理、优点、编程流程、6大配置文件以及核心配置文件struts.xml

    Struts2原理(底层使用的是Servlet的doFilter方法): Struts2优点: 第一个Struts程序: 在开发Struts程序之前,首先要导入额外的jar包,基本需求的是14个jar ...

  9. Struts2学习笔记 - Action篇<配置文件中使用通配符>

    有三种方法可以使一个Action处理多个请求 动态方法调用DMI 定义逻辑Acton 在配置文件中使用通配符 这里就说一下在配置文件中使用通配符,这里的关键就是struts.xml配置文件,在最简单的 ...

随机推荐

  1. [C]为什么发明指针?

    指针是C语言中广泛使用的一种数据类型. 运用指针编程是C语言最主要的风格之一.利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序 ...

  2. [bzoj3224][tyvj1728][普通平衡树] (pb_ds库自带红黑树)

    Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相 ...

  3. [LeetCode] Count The Repetitions 计数重复个数

    Define S = [s,n] as the string S which consists of n connected strings s. For example, ["abc&qu ...

  4. [LeetCode] Paint House II 粉刷房子之二

    There are a row of n houses, each house can be painted with one of the k colors. The cost of paintin ...

  5. [LeetCode] Clone Graph 无向图的复制

    Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's ...

  6. jQuery Ajax 实例 ($.ajax、$.post、$.get)

    jQuery Ajax 实例 ($.ajax.$.post.$.get) 转 Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. ...

  7. Java Win自动环境配置脚本

    @echo off :: TODO:设置java环境变量 :: Author: Sunky color 02 set "NewPath=%cd%" set "JavaHo ...

  8. Azure 带宽

    Azure带宽与Azure Blob云存储 http://www.cnblogs.com/threestone/p/4497625.html

  9. 对于多个数据库表对应一个Model问题的思考

    最近做项目遇到一个场景,就是客户要求为其下属的每一个分支机构建一个表存储相关数据,而这些表的结构都是一样的,只是分属于不同的机构.这个问题抽象一下就是多个数据库表对应一个Model(或者叫实体类).有 ...

  10. 手机GUI自动化测试工具选择

    (Graphical User Interface,简称 GUI,又称图形用户接口) 我们需要针对自身产品的需求,从中选取一款合适的工具来实现自动化.对于移动客户端GUI的自动化而言,需要保证选取的工 ...