此处,我只修改了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>
源码中配置文件的路径是有默认值的
这个加载文件的顺序是有讲究的,不要更改他的顺序,同时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.....