java獲取web項目路徑(javaweb獲取文件路徑)

本文目錄一覽:

如何獲取java web項目的工程路徑

request.getSession().getServletContext().getRealPath(“/”);//獲取web項目的路徑

this.getClass().getResource(“/”).getPath()//獲取類的當前目錄

java 怎麼獲取web根目錄

以工程名為TEST為例:

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

結果:/TEST/test.jsp

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

結果:/TEST

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

結果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp

(4)得到頁面所在服務器的全路徑:application.getRealPath(“頁面.jsp”)

結果:D:/resin/webapps/TEST/test.jsp

(5)得到頁面所在服務器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();

結果:D:/resin/webapps/TEST

2.在類中取得路徑:

(1)類的絕對路徑:String u=Class.class.getClass().getResource(“/”).getPath()

結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

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

結果:D:/TEST

3.在Servlet中取得路徑:

(1)得到工程目錄:request.getSession().getServletContext().getRealPath(“”) 參數可具體到包名。

結果:E:/Tomcat/webapps/TEST

(2)得到IE地址欄地址:request.getRequestURL()

結果:

(3)得到相對地址:request.getRequestURI()

結果:/TEST/test

JAVA Web獲取路徑幾種方式

1、獲取項目根路徑

req.getSession().getServletContext().getRealPath(“/”);

2、獲取類路徑

this.getClass().getResource(“/”).getPath();

怎麼在一個java程序里獲得當前web應用的路徑

在java中獲得文件的路徑在我們做上傳文件操作時是不可避免的。

web 上運行

1:this.getClass().getClassLoader().getResource(“/”).getPath();

this.getClass().getClassLoader().getResource(“”).getPath(); 得到的是 ClassPath的絕對URI路徑。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/

System.getProperty(“user.dir”);

this.getClass().getClassLoader().getResource(“.”).getPath(); 得到的是 項目的絕對路徑。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

2:this.getClass().getResource(“/”).getPath();

this.getClass().getResource(“”).getPath(); 得到的是當前類 文件的URI目錄。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/

this.getClass().getResource(“.”).getPath(); X 不 能運行

3:Thread.currentThread().getContextClassLoader().getResource(“/”).getPath()

Thread.currentThread().getContextClassLoader().getResource(“”).getPath() 得到的是 ClassPath的絕對URI路徑。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/

Thread.currentThread().getContextClassLoader().getResource(“.”).getPath() 得到的是 項目的絕對路徑。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

在本地運行中

1:this.getClass().getClassLoader().getResource(“”).getPath();

this.getClass().getClassLoader().getResource(“.”).getPath(); 得到的是 ClassPath的絕對URI路徑。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

this.getClass().getClassLoader().getResource(“.”).getPath(); X 不 能運行

2:this.getClass().getResource(“”).getPath();

this.getClass().getResource(“.”).getPath(); 得到的是當前類 文件的URI目錄。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/

/D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的絕對URI路徑。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

3:Thread.currentThread().getContextClassLoader().getResource(“.”).getPath()

Thread.currentThread().getContextClassLoader().getResource(“”).getPath() 得到的是 ClassPath的絕對URI路徑。。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

Thread.currentThread().getContextClassLoader().getResource(“/”).getPath() X 不 能運行

最後

在Web應用程序中,我們一般通過ServletContext.getRealPath(”/”)方法得到Web應用程序的根目錄的絕對路徑。

還有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服務器,項目內部並沒有文件結構的概念,用這種方式是始終得到null,獲取不到路徑,目前還沒有找到具體的解決方案。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128764.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相關推薦

發表回復

登錄後才能評論