以工程名為/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/