一、java类中的路径
package cloud;
import java.io.File;//该类在 C:\Users\clouder\workspace\path 文件夹中的 cloud 包下
public class PathUtil
{
public static void main(String[] args)
{
//file:/C:/Users/clouder/workspace/path/bin/
Thread.currentThread().getContextClassLoader().getResource("");
//file:/C:/Users/clouder/workspace/path/bin/
PathUtil.class.getClassLoader().getResource("");
//file:/C:/Users/clouder/workspace/path/bin/
ClassLoader.getSystemResource("");
//file:/C:/Users/clouder/workspace/path/bin/
PathUtil.class.getResource("/");
//C:\Users\clouder\workspace\path\bin
//获取所有的类路径 包括jar包的路径
System.getProperty("java.class.path");
//file:/C:/Users/clouder/workspace/path/bin/cloud/
PathUtil.class.getResource("");
//C:\Users\clouder\workspace\path
//user.dir指定了当前的路径
System.getProperty("user.dir");
//C:\Users\clouder\workspace\path
new File("").getAbsolutePath();
//C:\
new File("/").getAbsolutePath();
//File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。
}
}
二、web应用中的路径
web应用,在服务端获取路径问题:
(1)request.getRequestURL() : 获取请求的url,即控制台打印的路径,如 http://localhost:8080/test/hello.do
(2)request.getRequestURI() : 获取请求去掉ip的路径,如 /test/hello.do
request.getServletPath() : 同上
(3)获取当前应用的绝对根路径:xxx/webapps/xxx
request.getSession().getServletContext().getRealPath (“”)
request.getSession().getServletContext().getRealPath (“/”)
当项目名为abc,项目放到tomcat的webapps时,这里获取的路径为: C:/tomcat/webapps/abc/
当项目内容直接放到tomcat/webapps/ROOT下时,这里获取的路径为:C:/tomcat/webapps/ROOT/
web应用,在jsp页面获取路径问题:
(1)<%=request.getRequestURL()%> : 获取请求ip加jsp位置,如 http://localhost:8080/WEB-INF/jsp/hello.jsp
(2)<%=request.getRequestURI()%> : 获取项目开始的绝对路径,如 /WEB-INF/jsp/hello.jsp
<%=request.getServletPath()%> : 同上
(3)<%=application.getRealPath(request.getRequestURI())%> : 获取对应jsp文件的完整绝对路径
当项目名为abc,项目放到tomcat的webapps时,这里获取的路径为: C:/tomcat/webapps/abc/WEB-INF/jsp/hello.jsp
当项目内容直接放到tomcat/webapps/ROOT下时,这里获取的路径为:C:/tomcat/webapps/ROOT/WEB-INF/jsp/hello.jsp
(4)<%=application.getRealPath(“/”)%> : 获取当前应用的绝对路径
当项目名为abc,项目放到tomcat的webapps时,这里获取的路径为:C:/tomcat/webapps/abc/
当项目内容直接放到tomcat/webapps/ROOT下时,这里获取的路径为:C:/tomcat/webapps/ROOT/