天天看點

Web項目各種路徑擷取

以工程名為/DemoWeb為例: 

通路的jsp為:http://localhost:8080/DemoWeb/test/index.jsp 

1 JSP中獲得目前應用的相對路徑和絕對路徑 

(1)得到工程名:request.getContextPath() 

結果:/DemoWeb 

(2)得到包含工程名的目前頁面全路徑:request.getRequestURI() 

結果:/DemoWeb/test/testpath.jsp 

(3)得到IE位址欄位址:request.getRequestURL() 

結果:http://localhost:8080/DemoWeb/test/testpath.jsp 

(4)得到目前頁面所在目錄下全名稱:request.getServletPath() 

結果:/test/testpath.jsp 

(5)得到頁面所在伺服器的全路徑(實際的路徑):application.getRealPath("testpath.jsp") 

結果:D:\Develop Files\apache-tomcat-5.5.15\apache-tomcat-5.5.15\webapps\DemoWeb\testpath.jsp 

D:\Develop Files\apache-tomcat-5.5.15\apache-tomcat-5.5.15為tomcat的安裝路徑 

2.java 的Class中獲得相對路徑,絕對路徑的方法 

(1)類的絕對路徑: 

System.out.println(TestPath.class.getResource("/").getPath()); 

結果:/E:/workspace/workspace_tcc/DemoWeb/WebRoot/WEB-INF/classes/ 

System.out.println(TestPath.class.getResource("")); 

結果:file:/E:/workspace/workspace_tcc/DemoWeb/WebRoot/WEB-INF/classes/demo1/ 

(2)得到工程的路徑:System.getProperty("user.dir") 

結果:E:\workspace\workspace_tcc\DemoWeb 

(3)擷取web-inf路徑:request.getServletContext().getRealPath("/")

結果:E:/workspace/workspace_tcc/DemoWeb/WebRoot/WEB-INF/

繼續閱讀