Java,JSP,Servlet獲取當(dāng)前工程路徑(絕對路徑)問題解析
在jsp和class文件中調(diào)用的相對路徑不同。 在jsp里,根目錄是WebRoot 在class文件中,根目錄是WebRoot/WEB-INF/classes 當(dāng)然你也可以用System.getProperty("user.dir")獲取你工程的絕對路徑。
另:在Jsp,Servlet,Java中詳細獲得路徑的方法!
1.jsp中取得路徑:
以工程名為TEST為例:
(1)得到包含工程名的當(dāng)前頁面全路徑:request.getRequestURI()
結(jié)果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
結(jié)果:/TEST
(3)得到當(dāng)前頁面所在目錄下全名稱:request.getServletPath()
結(jié)果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp
(4)得到頁面所在服務(wù)器的全路徑:application.getRealPath("頁面.jsp")
結(jié)果:D:\resin\webapps\TEST\test.jsp
(5)得到頁面所在服務(wù)器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
結(jié)果:D:\resin\webapps\TEST
2.在類中取得路徑:
(1)類的絕對路徑:Class.class.getClass().getResource("/").getPath()
結(jié)果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路徑:System.getProperty("user.dir")
結(jié)果:D:\TEST
3.在Servlet中取得路徑:
(1)得到工程目錄:request.getSession().getServletContext().getRealPath("") 參數(shù)可具體到包名。
結(jié)果:E:\Tomcat\webapps\TEST
(2)得到IE地址欄地址:request.getRequestURL()
結(jié)果:http://localhost:8080/TEST/test
(3)得到相對地址:request.getRequestURI()
結(jié)果:/TEST/test
總結(jié)
以上就是小編分享給大家關(guān)于Java,JSP,Servlet獲取當(dāng)前工程路徑(絕對路徑)問題解析的全部內(nèi)容,希望對大家能有所幫助。有興趣的朋友歡迎參閱本站其他專題。
相關(guān)文章
5分鐘快速學(xué)會spring boot整合JdbcTemplate的方法
這篇文章主要給大家介紹了如何通過5分鐘快速學(xué)會spring boot整合JdbcTemplate的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring boot整合JdbcTemplate具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12解析Spring框架中的XmlBeanDefinitionStoreException異常情況
這篇文章主要介紹了解析Spring框架中的XmlBeanDefinitionStoreException異常情況,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04Java8 HashMap鍵與Comparable接口小結(jié)
這篇文章主要介紹了Java8 HashMap鍵與Comparable接口小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01