Java取得web工程目录-http://www.javaweb.cc
1.可以在servlet的init方法里
String path = getServletContext().getRealPath("/");
这将获取web项目的全路径
例如 :E:\eclipseM9\workspace\tree\
tree是我web项目的根目录
2.你也可以随时在任意的class里调用
this.getClass().getClassLoader().getResource("/").getPath();
这将获取 到classes目录的全路径
例如 : E:\eclipseM9/workspace/tree/WEB-INF/classes/
这个方法也可以不在web环境里确定路径,比较好用
3.request.getContextPath();
获得web根的上下文环境
如 /tree
tree是我的web项目的root context
public class Application ...{ public static String getRootPath()...{ //因为类名为"Application",因此" Application.class"一定能找到 String result = Application.class.getResource("Application.class").toString(); int index = result.indexOf("WEB-INF"); if(index == -1)...{ index = result.indexOf("bin"); } result = result.substring(0,index); if(result.startsWith("jar"))...{ // 当class文件在jar文件中时,返回"jar:file:/F:/ ..."样的路径 result = result.substring(10); }else if(result.startsWith("file"))...{ // 当class文件在class文件中时,返回"file:/F:/ ..."样的路径 result = result.substring(6); } if(result.endsWith("/"))result = result.substring(0,result.length()-1);//不包含最后的"/" return result; }
}
引自:http://www.javaweb.cc/language/java/312279.shtml