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);