在servlet、class中擷取相對路徑、絕對路徑
在jsp中擷取相對路徑、絕對路徑
根目錄所對應的絕對路徑:request.getRequestURI() 檔案的絕對路徑:application.getRealPath(request.getRequestURI()); 當前web應用的絕對路徑:application.getRealPath("/"); 取得請求檔案的上層目錄:new File(application.getRealPath(request.getRequestURI())).getParent()
在servlet中擷取相對路徑、絕對路徑
根目錄所對應的絕對路徑:request.getServletPath(); 結果:/servlet/client_note 指定檔案夾的絕對路徑:this.getServletContext().getRealPath(url); //url為已知檔案名稱"/upload" 結果:D:\Tomcat 6.0\webapps\anxunclientsearch\anxunclientsearch\upload 檔案的絕對路徑 :request.getSession().getServletContext().getRealPath(request.getRequestURI()) 結果:D:\Tomcat 6.0\webapps\anxunclientsearch\anxunclientsearch\servlet\client_note 當前web應用的絕對路徑 :servletConfig.getServletContext().getRealPath("/");
(ServletContext對象獲得幾種方式: javax.servlet.http.HttpSession.getServletContext() javax.servlet.jsp.PageContext.getServletContext() javax.servlet.ServletConfig.getServletContext() )
---------------------測試資料------------------------
System.out.println("根目錄所對應的絕對路徑"+request.getServletPath()); System.out.println("檔案的絕對路徑"+request.getSession().getServletContext().getRealPath(request.getRequestURI())); System.out.println("內容所在路徑:"+request.getContextPath()); System.out.println("絕對路徑:"+request.getRequestURL());
根目錄所對應的絕對路徑/servlet/client_note 檔案的絕對路徑D:\Tomcat 6.0\webapps\anxunclientsearch\anxunclientsearch\servlet\client_note 內容所在路徑:/anxunclientsearch 絕對路徑:http://192.168.1.102:8080/anxunclientsearch/servlet/client_note
在class中擷取相對路徑、絕對路徑
根據java.io.File的Doc文擋,預設情況下new File("/")代表的目錄為:System.getProperty("user.dir")。
---------------------測試資料------------------------
System.out.println("根目錄所對應的絕對路徑"+request.getServletPath());