struts2 framework 最核心的配置文件默认的是 struts.xml文件,通常放在webapp中WEB-INF/classes目录之下,如果使用Eclipse或者MyEclispe开发通常放在web项目的src根目录下。
1、配置文件默认路径,web.xml中配置
较早版本之前使用下面配置
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.3版本以后采用下面的配置
<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>
2、配置文件自定义路径 web中的配置如下
本例中struts.xml的路径是 WEB-INF/classes/conf/struts/struts.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,struts-plugin.xml,conf/struts/struts.xml
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
补充说明*:
(1)参数config的值由三个配置文件组成,三个配置文件的要将struts.xml文件放最后;
(2)struts加载配置文件的方式,struts并不是获取的配置文件相对应用(项目)的路径,而是相对src,对于web是相对/WEB-INF/classes文件夹的路径;
(3)在新版本中使用classpath*:conf/struts/struts/struts.xml这样的方式,依旧无法找到配置文件的路径,(参考其他博客似乎在之前旧版本可以采用这样的方式来写)
之前版本的写法如下
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>filterConfig</param-name>
<param-value>classpath:conf/struts/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
参数值和参数的名称都发生了变化。
本文介绍了Struts2框架中配置文件的默认路径及其自定义方法。默认情况下,struts.xml位于WEB-INF/classes目录下,但在Eclipse或MyEclipse中通常放在src根目录。针对不同版本,配置文件的设置有所不同。2.3版本之后,推荐使用新的配置方式,将struts.xml放置在WEB-INF/classes/conf/struts目录下,并在web.xml中进行相应配置。注意,配置时需遵循特定的文件路径规则,并理解Struts加载配置文件的方式是相对于/WEB-INF/classes的路径。
88

被折叠的 条评论
为什么被折叠?



