在开发中,我们需要在java类中来获取程序的绝对路径,而java类中是没有request等对象的,这时候可以用以下方法:

在web.xml中加入监听器,用spring框架的 WebAppRootListener类

 

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

然后在java类中可以用System.getProperty("search.root")来获取绝对路径

起原理就是在项目启动的时候把路径读取到缓存中,一下是工程启动的部分日志

信息: Set web app root system property: 'search.root' = [hc.action.mg.SiteAction]D:\Program Files\Workspaces\MyEclipse 10\126\msgweb\src\main\webapp\

相关文章:

  • 2021-09-18
  • 2021-11-30
  • 2021-12-19
  • 2021-09-15
  • 2021-06-03
  • 2021-12-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2021-12-10
  • 2021-11-18
  • 2021-11-29
相关资源
相似解决方案