struts修改配置文件位置

Updated on in 程序人生 with 0 views and 0 comments

1、web.xml中指定位置

此处,我只修改了struts.xml文件的位置,structs默认是从WEB-INF的classes目录下加载配置文件的,对应打包后的路径,自己根据需求修改即可

  <!-- struts配置 -->
  <filter>
    <filter-name>struts</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,struts-plugin.xml,struts/struts.xml</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>struts</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

2、注意

源码中配置文件的路径是有默认值的

image.png

image.png

这个加载文件的顺序是有讲究的,不要更改他的顺序,同时web.xml自定义的config会覆盖这个值,但是所需的配置文件有三个,所有,要把三个都补齐,只覆盖一个是不正确的

错误示范:

下面的代码就是错误示范,这样写就只有一个配置文件,剩下的两个就不会加载了 <!-- struts配置 -->

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

默认的配置文件中定义了很多属性,而且配置文件之间存在依赖,在加载配置文件的时候又是顺序加载,如果改变了顺序,会导致一些异常发生,例如:Unable to find parent packages.....

image.png


标题:struts修改配置文件位置
作者:wenyl
地址:http://www.wenyoulong.com/articles/2021/01/06/1609919407374.html