在开发中,我们需要在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\
在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\
来源:oschina
链接:https://my.oschina.net/u/919487/blog/169263