另外还有一个方法可以用来获取类的绝对路径(当前的classpath)
getClass().getResource("/").toString();
获取tomcat下的工程路径
String path = request.getRealPath("/");
servlet下得到工程或者类的位置
System.out.println(request.getSession().getServletContext().getRealPath("")); //得到tomcat下工程的位置
System.out.println(request.getSession().getServletContext().getRealPath("/")); //得到tomcat下工程的位置
System.out.println(request.getRealPath("/"));//得到tomcat下工程的位置
System.out.println(request.getRequestURL());//得到IE地址栏地址
System.out.println(request.getRequestURI());//得到相对地址
System.out.println(getClass().getResource("/").toString());//得到tomcat这个类编译后的位置
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath());//得到tomcat这个类编译后的位置
System.out.println(System.getProperty("user.dir"));//得到的是tomcat下的bin文件
得到的输出实例:
D:\apache-tomcat\apache-tomcat-7.0.41\webapps\test
D:\apache-tomcat\apache-tomcat-7.0.41\webapps\test\
D:\apache-tomcat\apache-tomcat-7.0.41\webapps\test\
http://localhost:8080/test/servlet/Test3
/test/servlet/Test3
file:/D:/apache-tomcat/apache-tomcat-7.0.41/webapps/test/WEB-INF/classes/
/D:/apache-tomcat/apache-tomcat-7.0.41/webapps/test/WEB-INF/classes/
D:\apache-tomcat\apache-tomcat-7.0.41\bin
都是绝对路径
java类执行的时候
System.out.println(System.getProperty("user.dir"));//获取工程路径
System.out.println(directory.getCanonicalPath());//获取标准的路径
System.out.println(directory.getAbsolutePath());//获取绝对路径
System.out.println(directory.getPath());//获取File括号里的路径
System.out.println(Class.class.getClass().getResource("/").getPath()); //类的绝对路径
得到的输出结果:
F:\Workspaces\test
F:\Workspaces\test
F:\Workspaces\test\.
.
/F:/Workspaces/test/build/classes/