SpringMVC request 得到文件路径

1.java中的路径

File directory = new File("abc"); 
// 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹 
directory.getCanonicalPath(); //得到的是C:/test/abc 
// 对于getAbsolutePath()函数,则不管”.”,“..”,返回当前的路径加上你在new File()时设定的路径 
directory.getAbsolutePath(); //得到的是C:/test/abc 
// 至于getPath()函数,得到的只是你在new File()时设定的路径 
direcotry.getPath(); //得到的是abc 
System.out.println(System.getProperty("user.dir"));//r指定了当前的路径

2.jsp中取得路径:

 

以工程名为TEST为例:

//(1)得到包含工程名的当前页面全路径:
request.getRequestURI() //结果:/TEST/test.jsp 
//(2)得到工程名:
request.getContextPath() //结果:/TEST 
//(3)得到当前页面所在目录下全名称:
request.getServletPath() //结果:如果页面在jsp目录下 /TEST/jsp/test.jsp 
//(4)得到页面所在服务器的全路径:
application.getRealPath("页面.jsp") //结果:D:/resin/webapps/TEST/test.jsp 
//(5)得到页面所在服务器的绝对路径:
absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); //结果:D:/resin/webapps/TEST

 

3.在类中取得路径:

//(1)类的绝对路径:
Class.class.getClass().getResource("/").getPath() //结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ 
//(2)得到工程的路径:
System.getProperty("user.dir") //结果:D:/TEST

 

4.在Servlet中取得路径:

//(1)得到工程目录:
request.getSession().getServletContext().getRealPath("") //结果:E:/Tomcat/webapps/TEST 
//(2)得到IE地址栏地址:
request.getRequestURL() //结果:http://localhost:8080/TEST/test 
//(3)得到相对地址:
request.getRequestURI() //结果:/TEST/test

 

点赞