j2ee项目中在java类中获取 spring框架项目的绝对路径

在开发中,我们需要在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\

你可能感兴趣的:(spring,路径)