Spring获取Web应用根目录的方法

转自http://blog.csdn.net/hellostory/article/details/6106930


Spring 在 org.springframework.web.util 包中提供了几个特殊用途的 Servlet 监听器,正确地使用它们可以完成一些特定需求的功能。比如某些第三方工具支持通过 ${key} 的方式引用系统参数(即可以通过 System.getProperty() 获取的属性),WebAppRootListener 可以将 Web 应用根目录添加到系统参数中,对应的属性名可以通过名为“webAppRootKey”的 Servlet 上下文参数指定,默认为“webapp.root”。下面是该监听器的具体的配置:


清单 6. WebAppRootListener 监听器配置

[xhtml]  view plain copy
  1. …  
  2.  <context-param>   
  3.     <param-name>webAppRootKey</param-name>   
  4.     <param-value>baobaotao.root</param-value> ① Web 应用根目录以该属性名添加到系统参数中  
  5.  </context-param>   
  6. …  
  7. ② 负责将 Web 应用根目录以 webAppRootKey 上下文参数指定的属性名添加到系统参数中  
  8.  <listener>   
  9.     <listener-class>   
  10.     org.springframework.web.util.WebAppRootListener   
  11.     </listener-class>   
  12.  </listener>   
  13. …  
  14.   
  15.    

这样,您就可以在程序中通过 System.getProperty("baobaotao.root") 获取 Web 应用的根目录了。不过更常见的使用场景是在第三方工具的配置文件中通过 ${baobaotao.root} 引用 Web 应用的根目录。比如以下的 log4j.properties 配置文件就通过 ${baobaotao.root} 设置了日志文件的地址:

 log4j.rootLogger=INFO,R 
 log4j.appender.R=org.apache.log4j.RollingFileAppender 
 log4j.appender.R.File=<span style="color: rgb(255, 0, 0);">${baobaotao.root}</span>/WEB-INF/logs/log4j.log ① 指定日志文件的地址
 log4j.appender.R.MaxFileSize=100KB 
 log4j.appender.R.MaxBackupIndex=1 
 log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n 

转自IBM文章:http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils1/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值