web.xml中配置webAppRootKey

ForTheFree 发布于 2017/03/17 09:59
阅读 311
收藏 0

我现在的配置是这样写的:

 <context-param>
  	<param-name>webAppRootKey</param-name>
  	<param-value>web.root</param-value>
  </context-param>
  <listener>
  	<listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
  </listener>

现在就是我想改变web.root的值,从配置文件中获取,我该怎么改这段配置

本来是想去掉这里的配置 然后手动去设置,但是感觉不太优雅 ,有没有什么优雅的写法

加载中
0
求是科技
求是科技

为什么要从配置文件中获取?一个工程对应一个web.root,你写成工程名就行,固定。

0
c
chrischeng03

从几个地方进行处理

1、如果启动的时候通过-DwebRookey=web.root,则优先使用这个配置,否则

2、如果该含该配置的配置文件路径不在类路径下,则使用该配置,否则

3、如果类路径下有该配置,使用该配置,否则

4、如果环境变量中有该配置则使用该配置,否则

5、设定一个默认值,所有都没有配置也能使用,直接默认值

以上是基本上写框架的话都这么做的

F
ForTheFree
-DwebRookey这个怎么在启动的时候设置 我没搜到对应的知识
0
moliunian
moliunian

placeholder 可以的

moliunian
moliunian
回复 @ForTheFree : 其实,除非你要设置的参数是相关路径,一般是不用另外读取配置文件来设置的,直接在web.xml写死就可以了,反正你改动了配置文件都是要重启的
moliunian
moliunian
回复 @ForTheFree : <context-param> <param-name>loggingRoot</param-name> <param-value>${catalina.base}/logs/app</param-value> </context-param> 如上${catalina.base},你可以设置在tomcat启动配置里面设置。
F
ForTheFree
这应该是在spring的配置文件中去读取配置文件数据用的吧,那怎么设置到web.root里面
0
c
chrischeng03

引用来自“chrischeng03”的评论

从几个地方进行处理

1、如果启动的时候通过-DwebRookey=web.root,则优先使用这个配置,否则

2、如果该含该配置的配置文件路径不在类路径下,则使用该配置,否则

3、如果类路径下有该配置,使用该配置,否则

4、如果环境变量中有该配置则使用该配置,否则

5、设定一个默认值,所有都没有配置也能使用,直接默认值

以上是基本上写框架的话都这么做的

tomcat的启动脚本中,或将tomcat内嵌到应用程序中启动

返回顶部
顶部