Java專案中有關路徑的獲取方法
1、用Jsp獲取
1-1、獲取檔案的絕對路徑
String file=“檔案”;(例如:data.mdb)
String path=application.getRealPath(file);
結果:
E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\檔案
1-2、獲取檔案的絕對路徑
String p2=request.getRequestURI();
結果:
E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\檔案
1-3、獲取當前jsp頁面的路徑
String p3=request.getContextPath();
結果:
/myWebsite/index.jsp
1-4、獲取當前專案的路徑
String p4=request.getServletPath();
結果:
/myWebsite
2、用Java類獲取
2-1、獲取Eclipse路徑
String a1=System.getProperty(“user.dir”);
結果:
D:\StudySystem\JavaWeb\3-eclipse-jee-indigo-win32\eclipse
2-2、獲取當前的classpath路徑
String a2=類名.class.getResource("").toString();
String a3=DBConnection.class.getResource("/").toString();
String a4=DBConnection.class.getClassLoader().getResource("").toString();
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
打印出來分別是:
file:/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/com/site/db/
file:/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/
file:/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/
/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/
2-3、獲取檔案的絕對路徑
如果要獲取WebContent目錄下的檔案絕對路徑怎麼辦?可以用下面的方法
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
int num=t.indexOf(".metadata");
String path=t.substring(1,num).replace(’/’, ‘\’)+“專案名\WebContent\檔案”;
結果是:
E:\java_web\workspace\專案名\WebContent\檔案
3、用servlet獲取
3-1、獲取專案的絕對路徑**
request.getSession().getServletContext().getRealPath("")
結果:
E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite
3-2、獲取瀏覽器地址
request.getRequestURL()
結果:
http://localhost:8080/myWebsite/QuestionServlet
3-3、獲取當前檔案的絕對路徑
request.getSession().getServletContext().getRealPath(request.getRequestURI())
結果:
E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\myWebsite\QuestionServlet