`
lian
  • 浏览: 57294 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
社区版块
存档分类
最新评论

修改struts.xml位置

阅读更多
<filter>
  <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
  <init-param>
   <param-name>config</param-name>
   <param-value>struts-default.xml,struts-plugin.xml,/WEB-INF/struts.xml</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

相信大家一看就明白了,因为struts-default.xml中定义了struts-default这个包

另外,为什么参数的名字叫config,而且三个配置文件名之间可以用“,”号来分隔呢,总不能瞎猜吧。

是这样的,FilterDispatcher这个Filter的init()方法中,需要初始化一个叫做Dispacher的类,源码如下:

    /**

    * Initializes the filter by creating a default dispatcher

    * and setting the default packages for static resources.

    *

    * @param filterConfig The filter configuration

    */

    public void init(FilterConfig filterConfig) throws ServletException {

        try {

            this.filterConfig = filterConfig;

            initLogging();

            dispatcher = createDispatcher(filterConfig);

            dispatcher.init();

            dispatcher.getContainer().inject(this);

            staticResourceLoader.setHostConfig(new FilterHostConfig(filterConfig));

        } finally {

            ActionContext.setContext(null);

        }

    }

画红线的部分表明这个方法的主要作用就是初始化一个Dispacher类。

好,现在进入这个类看看。其中有这么个常量:

private static final String DEFAULT_CONFIGURATION_PATHS = "struts-default.xml,struts-plugin.xml,struts.xml";

再看该类里边的这个方法:

private void init_TraditionalXmlConfigurations() {

        String configPaths = initParams.get("config");

        if (configPaths == null) {

            configPaths = DEFAULT_CONFIGURATION_PATHS;

        }

        String[] files = configPaths.split("\\s*[,]\\s*");

        for (String file : files) {

            if (file.endsWith(".xml")) {

                if ("xwork.xml".equals(file)) {

                    configurationManager.addConfigurationProvider(new XmlConfigurationProvider(file, false));

                } else {

                    configurationManager.addConfigurationProvider(new StrutsXmlConfigurationProvider(file, false, servletContext));

                }

            } else {

                throw new IllegalArgumentException("Invalid configuration file name");

            }

        }

    }

大家只看我用特殊颜色标识出来的内容就全都明白了吧。
分享到:
评论

相关推荐

    struts.xml文件详解.doc

    例如,你可以通过更改struts.locale属性来设置应用的默认区域设置,或者通过struts.i18n.encoding来设定Web应用的默认字符编码,这对于处理中文请求参数尤其重要。 struts.properties中的属性也可以在web.xml或...

    struts.xml和struts.properties配置详解

    5. **struts.action.extension**: 行动映射的扩展名,默认是`action`,但可以根据需要修改。 6. **struts.enable.SlashesInActionNames**: 是否允许URL中的斜杠,设为`true`启用。 除了这些基本配置,`struts....

    Dom4j解析struts2框架的struts.xml

    它提供了全面的API,可以方便地读取、写入、修改和遍历XML文档。下面我们将详细介绍如何利用Dom4j解析`struts.xml`文件中的关键元素。 首先,导入必要的库,包括Dom4j库和其他Struts2依赖。在你的项目中,确保添加...

    struts.xml文件详解示例代码

    开发者可以根据实际需求,在Struts.xml中添加、修改或删除上述元素,以实现对请求处理、视图展现和异常处理的精细控制。 通过阅读链接中的博客文章(http://blog.csdn.net/jiajia333666/article/details/47979919)...

    struts.xml的错误解决办法

    然后,你需要修改`struts.xml`文件中DTD的引用,将URL路径更改为本地路径,例如`/WEB-INF/classes/struts-2.0.dtd`。这样,XML解析器将从本地读取DTD文件,避免了网络依赖。 2. **在IDE中配置XML Catalog**: 对于...

    Struts框架中struts-config.xml文件配置小结

    ### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...

    dom4j解析struts.xml需要的包装类

    `dom4j`是一个强大的Java XML API,它提供了一种灵活的方式来读取、写入、修改以及操作XML文档。在解析`struts.xml`时,dom4j能帮助我们高效地遍历XML节点,获取或设置属性值,以及创建对象模型来表示配置文件的结构...

    struts2属性文件struts.xml的配置

    ### Struts2属性文件struts.xml的配置 在Java Web开发中,Struts2框架作为MVC模式的一种实现,提供了一种简洁的方式来构建应用程序。其中,`struts.xml`是Struts2的核心配置文件,用于定义项目的包、常量、拦截器等...

    Struts2.5版本struts.xml与web.xml配置的更改方法

    以下是Struts2.5版本中`struts.xml`和`web.xml`配置的更改方法: **1. web.xml中的核心过滤器修改** 在Struts2.5版本中,核心过滤器的全类名发生了变化。原来的过滤器类名为`org.apache.struts2.dispatcher.ng....

    Struts-config.xml配置详解

    Struts的配置文件通常命名为struts-config.xml,它是整个Struts应用的核心配置文件,通过定义一系列的XML元素来设定框架的不同功能和行为。下面将详细介绍struts-config.xml中8个主要配置元素的功能和使用方法。 1....

    SSH集成代理2.0版和struts.xml中DelegatingActionProxy代理搭配

    Struts是Java Web开发中的MVC框架,它通过Struts.xml配置文件来定义控制器的行为。在Struts2中,DelegatingActionProxy是Action代理的一种实现,它主要用于动态地加载和调用实际的Action类,实现了Action的AOP(面向...

    struts2的struts.properties介绍

    #### struts.configuration.xml.reload **含义**:控制是否重新加载XML配置文件。 **示例**:如果设置为`true`,则每次应用程序启动时都会重新加载XML配置文件;若为`false`,则只在启动时加载一次。 **应用场景*...

    struts.xml

    配置Struts2时候,需要配置文件,可讲该文件直接拷入到项目中,再针对自己的项目进行合适的修改也就是一个简单的模版而已

    struts2配置文件改变位置问题

    总结一下,当遇到Struts2配置文件位置更改问题时,应遵循以下步骤: 1. 确保新的`struts.xml`文件路径是相对于`WEB-INF/classes`目录的。 2. 更新`web.xml`中的`StrutsPrepareAndExecuteFilter`过滤器配置,通过`...

    详解struts2中struts.properties.doc

    在Struts2中,配置文件起着至关重要的作用,其中`struts.xml`用于管理Action映射和Result定义,而`struts.properties`文件则用于定义框架的全局属性。这个文件是基于Properties格式的,存储了一系列键值对,用于定制...

    SSH集成代理1.2版第二种和struts.xml中DelegatingActionProxy代理搭配

    在这个场景中,我们关注的是SSH中的Struts框架和SSH集成代理1.2版的第二种搭配方式,以及如何在`struts.xml`配置文件中使用`DelegatingActionProxy`代理。 首先,让我们深入理解SSH框架的各自职责。Spring框架作为...

    struts、applicationContext配置文件移动后web.xml配置示例

    使用myeclipse8.5搭建SSH后,将struts.xml和applicationContext.xml移动到别的地方,示例中为webroot下的config文件夹中,web.xml中需要做的修改示例。其中对于返回上一层方式不同的myeclipse可能不同,如有的用../...

    struts2的struts.properties配置文件详解

    `struts.configuration.xml.reload` - **描述**:控制是否重新加载XML配置文件。 - **示例**:可以设置为 `true` 或 `false`。 - **作用**:当开发人员更改了配置文件后,是否希望Struts自动重新加载这些文件。这...

    struts2中两种validation.xml的配置方式

    在Struts2框架中,`validation.xml`是用于定义验证规则的重要配置文件。根据所提供的信息,我们可以了解到文章主要探讨了Struts2中两种不同的`validation.xml`配置方式,并且通过一个具体的例子进行了说明。下面将对...

Global site tag (gtag.js) - Google Analytics