1,在web.xml中加入一个参数和listener
<context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root</param-value> </context-param> <listener> <listener-class>org.sunsf.core.listener.ApplicationListener</listener-class> </listener>
2,在listener类中继承ContextLoaderListener 类重写contextInitialized方法,并设置webapp.root
3,在普通类中就可以通过下面的代码获取容器的路径
package org.sunsf.core.listener; import javax.servlet.ServletContextEvent; import org.springframework.web.context.ContextLoaderListener; public class ApplicationListener extends ContextLoaderListener { public void contextInitialized(ServletContextEvent sce) { String webAppRootKey = sce.getServletContext().getRealPath("/"); System.setProperty("webapp.root", webAppRootKey); } }
3,在普通类中就可以通过下面的代码获取容器的路径
System.getProperty("webapp.root");说明:如果有自定的启动类可以直接copy到启动类中
String webAppRootKey = sce.getServletContext().getRealPath("/"); System.setProperty("webapp.root", webAppRootKey);