在默认情况下,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. [转]用Middleware给ASP.NET Core Web API添加自己的授权验证

    本文转自:http://www.cnblogs.com/catcher1994/p/6021046.html Web API,是一个能让前后端分离.解放前后端生产力的好东西.不过大部分公司应该都没能做 ...

  2. (转)也谈BIO | NIO | AIO (Java版)

    原文地址: https://my.oschina.net/bluesky0leon/blog/132361 关于BIO | NIO | AIO的讨论一直存在,有时候也很容易让人混淆,就我的理解,给出一 ...

  3. CANopen学习——同步

    在发送和接收之间必须相互协调和同步,为此,CANopen引入同步的概念. 同步报文:包含一个数据字节或者不含数据字节的CAN报文.数据字节中包含一个从1开始递增计数的同步计数器.溢出值可在参数(索引1 ...

  4. Linux下的C Socket编程 -- 简介与client端的处理

    Linux下的C Socket编程(一) 介绍 Socket是进程间通信的方式之一,是进程间的通信.这里说的进程并不一定是在同一台机器上也有可能是通过网络连接的不同机器上.只要他们之间建立起了sock ...

  5. [LeetCode] Combinations 组合项

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  6. 【CodeVS 1288】埃及分数

    http://codevs.cn/problem/1288/ loli秘制面向高一的搜索,好难啊QAQ 我本来想按照分母从大到小搜,因为这样分母从小到大枚举到的第一个可行方案就是最优方案. 但貌似会T ...

  7. freemarker种种

    #include要使用绝对路径的话,在路径最前面加个"/"就行--<#include "/includes/v2/headerMacro.ftl"> ...

  8. JS倒计时执行操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. echarts-案例

    关系图 http://echarts.baidu.com/echarts2/doc/example/force1.html http://www.cnblogs.com/spring_wang/p/4 ...

  10. tensorflow中的基本概念

    本文是在阅读官方文档后的一些个人理解. 官方文档地址:https://www.tensorflow.org/versions/r0.12/get_started/basic_usage.html#ba ...