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
本文介绍了三种在Java Web应用中获取Web项目根目录路径的方法,包括通过Servlet初始化、Class加载器资源路径及请求上下文路径的方式,并提供了一个实用的公共类实现。
2728

被折叠的 条评论
为什么被折叠?



