`

三、改变struts.xml默认路径后web.xml如何配置

阅读更多

在struts2框架中struts.xml是应当放到src的根目录,程序编译后会将struts.xml放到WEB-INF/classes目录下。

Struts2在web.xml中的一般配置如下:

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>
             org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>        
</filter>
<filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

根据配置就会先后加载struts-default.xml、struts-plugin.xml、然后自动加载classes目录下的struts.xml 。

但是有时为了协作开发或方便管理,有时可能需要把struts.xml放到其他位置,如下图所示:

这个时候web.xml文件该如何配置呢?

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>
              org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
        <init-param>
        	<param-name>config</param-name>
        	<param-value>
                    struts-default.xml,config/struts2/struts.xml
                </param-value>
        </init-param>        
</filter>
<filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

我们可以通过上述web.xml的配置找到struts.xml文件的位置,但在这里有人可能会疑问了,那为什么要struts-default.xml也需要指定呢?因为我们改变了struts.xml文件的位置后,如果不手动指定,就不会自动加载。就会出现下面的异常:

 


 

所以需要特别注意struts2默认加载的文件,如struts-default.xml,struts-plugin.xml都需要在

<param-value/>中重新指定一下。

 

温馨提示:在上述的程序中,大家可能注意我重新指定了struts-default.xml而没有写struts-plugin.xml,那是因为我这个项目没有用到插件,引用的是项目的基本jar,基本Jar中是没有struts-plugin.xml配置文件的。这个配置文件是在插件jar包中。如图:

 


 任意解压缩一个Jar包即可发现:

 


所以我们需要清楚虽然配置文件的加载顺序是
struts-default.xml、struts-plugin.xml、struts.xml,但是如果没有插件的应用那么就是struts-default.xml、struts.xml的顺序。这就是上述显性指定时没有指定struts-plugin.xml的原因。

 

当然如果不想在web.xml文件中指定struts-default.xml,struts-plugin.xml的话,也可在struts.xml文件中通过include将原有配置文件包含进来。

<struts>	
    <include file="struts-default.xml" ></include>	
    <package name="example" namespace="/" extends="struts-default">
        <action name="login" class="com.yanln.test.action.LoginAction">
            <result name="success">success.jsp</result>           
        </action>
    </package>
</struts>

 

注意:每个人的编程习惯是不一样的,有的人可能把配置文件习惯如下方式放置


 那么web.xml文件可以这样配置:

 

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
        <init-param>
        	<param-name>config</param-name>
        	<param-value>
                     struts-default.xml,../config/struts2/struts.xml
                </param-value>        	
        </init-param>        
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 主要原因是struts2默认会到WEB-INF/classes目录下去找配置文件。

 

 

 
 
 

  • 大小: 66.6 KB
  • 大小: 102.4 KB
  • 大小: 65.3 KB
  • 大小: 80.8 KB
  • 大小: 47.2 KB
  • 大小: 19.8 KB
分享到:
评论

相关推荐

    struts.xml文件详解.doc

    struts.properties文件是Struts 2框架的一个重要配置文件,它位于Web应用的WEB-INF/classes目录下或CLASSPATH路径下。这个文件定义了一系列框架的属性,允许开发者调整Struts 2的行为以适应特定的应用需求。例如,你...

    struts.xml和struts.properties配置详解

    在Struts中,`struts.xml`和`struts.properties`文件是两个核心的配置文件,它们分别负责定义应用的行为和设置全局属性。 **`struts.xml`配置详解** `struts.xml`是Struts 2框架的核心配置文件,用于定义动作映射...

    struts.xml(struts2配置)

    结果可以是相对路径或绝对路径,根据配置决定是否需要添加前缀(如`/WEB-INF/pages/`)。 6. **拦截器和拦截器栈** 拦截器在Action调用前后执行,用于实现通用功能,如权限检查、日志记录等。`&lt;interceptor&gt;`定义...

    struts.xml文件详解示例代码

    - `&lt;constant&gt;` 用于设置Struts2框架的配置常量,可以改变框架的默认行为。 例如,在`struts2-config`这个压缩包中,可能包含了自定义的Struts2配置文件,用于定义应用的特定行为。开发者可以根据实际需求,在...

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

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

    struts.xml的要准备的jar包

    在使用Struts框架时,`struts.xml`配置文件起着至关重要的作用,它是整个应用的配置中心,定义了动作映射、拦截器、结果类型等核心组件。为了正确运行Struts2框架,我们需要准备一系列的JAR文件,这些库文件提供了...

    struts.xml中constent属性参数配置大全

    **struts.configuration.xml.reload** - **功能**:是否在每次HTTP请求时重新加载`struts.xml`文件,默认为`false`。 - **示例**:设置为`true`,则每次请求都会检查`struts.xml`文件是否有变化。 ##### 25. **...

    在web.xml中配置action或.do

    ### 在web.xml中配置action或.do的理解与实践 #### 一、引言 在Web开发领域,特别是基于Java的Web应用程序开发中,`web.xml`文件扮演着至关重要的角色。它不仅定义了Web应用的基本配置,还管理着诸如Servlet、过滤...

    struts2的struts.properties配置文件详解

    4. struts.configuration.xml.reload:这是一个布尔值,用于确定是否加载XML配置文件。如果设置为true,Struts2将加载XML配置文件;否则,不加载。 5. struts.continuations.package:这是一个包名,包含使用Rife ...

    sruts2.0 web.xml 配置文件

    6. **Action的映射(标签)**:在Struts2.0中,`web.xml`里不直接配置Action,而是通过配置文件(如struts-default.xml, struts-plugin.xml, struts.xml等)来定义Action的配置。 除了上述基本配置外,`web.xml`还...

    struts2的struts.xml文件的元素结构

    在Struts2中,`struts.xml`文件是核心配置文件,用于定义应用的行为、动作映射、结果类型、拦截器等。这篇博文主要探讨了`struts.xml`文件的元素结构,下面我们将详细解析这些关键元素。 首先,`struts.xml`文件...

    struts.xml详解.doc

    `struts-default.xml`通常包含了Struts2的默认配置,包括一些预定义的拦截器和Action。 4. **package标签**: `&lt;package&gt;`定义了一个行为模块,它是一系列Action的集合。每个`package`都需要一个唯一的名字,通过`...

    对Struts 2.0中的struts.xml配置文件详细说明 2

    Struts 2.0是Java Web开发中广泛使用的MVC框架,它的核心在于`struts.xml`配置文件。这个配置文件扮演着应用的中枢角色,负责定义动作(Actions)、结果(Results)、拦截器(Interceptors)等关键组件,以及它们...

    struts2文件上传中的struts.multipart.saveDir提示信息

    另一种方法是在`struts.xml`配置文件中添加一个常量元素来设定这个值,如下所示: ```xml &lt;constant name="struts.multipart.saveDir" value="/tmp"/&gt; ``` 和上面一样,这里的`/tmp`应该替换为实际的临时文件...

    Struts2+Hibernate Action+struts.xml+jsp

    每个Action类都与一个或多个URL路径关联,当用户发起请求时,Struts2会根据配置文件(通常是struts.xml)来决定哪个Action来处理请求。 **Hibernate** 是一个流行的关系型数据库ORM框架,它简化了Java应用中的数据...

    struts2配置文件改变位置问题

    这里,`config`参数值包含了多个配置文件的路径,包括默认的`struts-default.xml`和`struts-plugin.xml`,以及自定义的`../struts.xml`。`../struts.xml`表示相对于`WEB-INF/classes`目录的上一级目录,这样就指定了...

    struts.properties配置详解

    `struts.properties`文件通常位于项目的`WEB-INF/classes`目录下,这样可以确保它被包含在类路径(CLASSPATH)中,以便Struts2能够正确加载并解析其中的配置信息。 ### 核心配置项详解 #### struts.action....

    Web.xml配置详解

    《Web.xml配置详解》 在Web开发中,`web.xml`文件是Web应用程序的部署描述符,它是Java Servlet规范的一部分,用于配置Web应用的各种组件,如Servlet、过滤器、监听器等。理解并熟练掌握`web.xml`的配置对于任何Web...

    struts2的属性配置

    综上所述,Struts2的属性配置涉及到`struts.xml`、`struts.properties`以及`web.xml`三个主要文件,每个都有其特定的使用场景和优先级。理解和熟练掌握这些配置方式,对于构建高效、可维护的Struts2应用至关重要。

    struts2 xml

    Struts2是一个强大的MVC框架,它以XML配置文件为核心,允许开发者定义应用程序的行为和结构。在Struts2中,XML配置文件(通常命名为struts.xml)是整个框架的基石,它负责设置Action、拦截器、结果页面以及其他关键...

Global site tag (gtag.js) - Google Analytics