一 、JAVA 类中
1、取出指定所在类的路径
class A {
String getPath() {
return this.getClass().getClassLoader().getSystemResource("A").getPath();
}
}
注,更方便的
class A {
String getPath() {
return (A.class).getResource("").getPath();
}
}
2、取出类ClassLoader的开始路径(执行路径)
String preUri=this.getClass().getClassLoader().getResource("").getPath();
比如WebApp的项目,以下的指令得出的结果就是
D:/project/crFj163Web/web/exploded/WEB-INF/classes/
比如你是纯java的程序,就是你执行java指令的当前路径
3、取出jdk所在的bin目录
//得到当前用户路径,执行路径
System.getProperty("user.dir")
其中user.dir是一个参数,更多参数请看这里
二、jsp/servlet 中的取路径
以前我们常用getRealPath(),不过这个方法已经不推荐用了。但我们可以使用request.getContextPath().另外还有request.getRequestURL() 或者request.getRequestURI()。下面举例,以建立一个app1的webapp为例
1、request.getContextPath()打印出来的是
/app1
2、request.getRequestURL() 打印出来的是
http://localhost:8080/app1/index.jsp
3、request.getRequestURI() 打印出来的是
/app1/index.jsp