在默认情况下,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. 通过XShell链接虚拟机的CentOS

    今天在Win7环境通过XShell链接VirtualBox的CentOS;始终链接不上,原来是因为虚拟机选择网络链接方式不对[推荐连接方式:Host-only Adapter(主机模式). 知识提要: ...

  2. Duplicate entry 'javajavajav' for key 'username'

    org.apache.ibatis.exceptions.PersistenceException: ### Error updating database.  Cause: com.mysql.jd ...

  3. [LeetCode] Odd Even Linked List 奇偶链表

    Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her ...

  4. [LeetCode] Maximum Product Subarray 求最大子数组乘积

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  5. .net(C#)中this关键字

    使用this关键字引用成员变量使用this关键字在自身构造方法内部引用其它构造方法使用this关键字代表自身类的对象使用this关键字引用成员方法 在一个类的方法或构造方法内部,可以使用"t ...

  6. git详解

    Git使用教程   source: http://www.cnblogs.com/tugenhua0707/p/4050072.html 一:Git是什么? Git是目前世界上最先进的分布式版本控制系 ...

  7. C++知识回顾(二)——名称空间

    随着工程的增大,名称相互冲突的肯能性增加,使用多个厂商的类库时,可能导致名称冲突.为了解决这些问题,需要用到名称空间. 为了将代码加入名称空间,可以使用namespae将其包含,例如,编写一段代码,其 ...

  8. .Net Core Linux centos7行—IOC模块

    .net core中可以说是用了全新的IOC模板,定义在Microsoft.Extensions.DependencyInjection下.提供了一套标准的接口.并提供了默认实现.并且大范围使用着,处 ...

  9. 给空签名包进行签名以及找不到keystore证书链问题的解决方案

    转 http://blog.csdn.net/u011106842/article/details/49683865

  10. 在linux上如何通过composer安装yii

      Composer可以理解成一个依赖管理工具 它能解决以下问题 a) 你有一个项目依赖于若干个库. b) 其中一些库依赖于其他库. c) 你声明你所依赖的东西. d) Composer 会找出哪个版 ...