struts2中改变struts.xml默认路径
来源:互联网 发布:淘宝怎样粘贴 编辑:程序博客网 时间:2024/05/16 17:15
struts2.X配置文件默认存放路径在/WEB-INF/classes目录下,即将struts.xml放在src的目录下。
但是为了方便管理,开发人员把struts.xml放到其他位置,处理方法如下。
首先要明白struts2加载配置文件都是从自己的jar包和/WEB-INF/classes两个默认的位置加载的。
若修改struts2.x配置文件的存放位置,在web.xml配置过虑器时,具体配置如下:
1
<
filter
>
2
<
filter-name
>struts2</
filter-name
>
3
<
filter-class
>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</
filter-class
>
4
<
init-param
>
5
<
param-name
>config</
param-name
>
6
<
param-value
>struts-default.xml,struts-plugin.xml,struts/struts.xml</
param-value
>
7
</
init-param
>
8
</
filter
>
注意点1
若设置了<param-name>config</param-name>参数,那struts-default.xml等原来struts2默认加载的文件也要手动指定,否则不会自动加载。
注意点2
struts-plugin.xml也需要指定。因为在struts2使用2.1.6版本时:
若需要和spring集成的话,struts2-spring-plugin-2.1.6.jar中有struts-plugin.xml这个文件。
若struts2要支持json的话, json-plugin-0.34.jar中也有一个叫struts-plugin.xm的文件。
因此这个文件也是要加载的。
注意点3
采用相对/WEB-INF/classes的相对路径。本例放在了/WEB-INF/classes/struts目录下。当然也可以写成classpath:struts/struts.xml
注意点4
若不在这里配置struts-default.xml,struts-plugin.xml,也可以在struts.xml文件中添加include标签将两个文件包括进去。
<include file="struts-default.xml" />和<include file="struts-plugin.xml" />
注意点5
使用<include file="..." />标签添加其他子配置文件时,file属性也要是一个相对/WEB-INF/classes的路径。
若子配置文件路径是/WEB-INF/classes/configs/struts/student/struts-config.xml的话,
file属性值应该写configs/struts/student/struts-config.xml。
若有多个子配置文件可以采用扫描的方式<include file="configs/struts/*/*.xml" />
可能遇到的问题:
警告: Could not find action or result
There is no Action mapped for namespace / and action name hello. - [unknown location]
为什么指定了自己的struts.xml文件路径依然访问不到呢?
原因依然在struts加载配置文件的方式,struts并不是获取的配置文件相对应用(项目)的路径,而是相对src,对于web是相对/WEB-INF/classes文件夹的路径,现在知道了最终的解决方案了?
对了,就是把web.xml中的[/WEB-INF/struts.xml]改成 [../struts.xml],即使用相对/WEB-INF/classes文件夹的路径!
来自:http://blog.csdn.net/xiayuzheng/article/details/12319469
- struts2中改变struts.xml默认路径
- struts2中改变struts.xml默认路径
- struts2中改变struts.xml默认路径
- 改变 struts2 中 struts.xml 默认路径
- struts2中改变struts.xml默认路径
- struts2中改变struts.xml默认路径
- struts2中改变struts.xml默认路径
- struts2中改变struts.xml默认路径
- struts2中改变struts.xml默认路径
- Struts2改变struts.xml 默认路径
- 修改struts2 中 struts.xml 默认路径
- struts2中改变struts.xml默认路径 或可能遇到的问题
- struts2中改变struts.xml默认路径或可能遇到的问题
- 转 struts2中改变struts.xml默认路径 或可能遇到的问题
- web.xml中改变struts.xml默认路径
- struts2中struts.xml 非默认路径的配置
- struts2中struts.xml 非默认路径的配置 转帖
- Struts2更改配置文件struts.xml默认路径
- redis中各种数据类型对应的jedis操作命令
- swift与OC之间的不同之处(不完整)
- WinForm 编程中控件的使用小技巧(splitter实现窗口分区域,改变Button的形状)
- C语言基础
- codeforces 150C Smart Cheater 线段树区间合并
- struts2中改变struts.xml默认路径
- yaf的nginx的rewrite
- 更快学习JavaScript的6个思维技巧
- 深拷贝,浅拷贝
- XCode7.0 Objective-C 三大新特性
- struts中接收数组的表单和ajax两种形式
- 卷积神经网络(一):LeNet5的基本结构
- [LeeCode]#22 Generate Parentheses
- 点云视窗类CloudViewer