request獲取各種路徑

2021-09-09 03:34:13 字數 1562 閱讀 7232

equest.getrealpath() 這個方法已經不推薦使用了,代替方法是:

request.getsession().getservletcontext().getrealpath()

在servlet裡用this.getservletcontect().getrealpath()

在struts裡用this.getservlet().getservletcontext().getrealpath()

在action裡用servletactioncontext.getrequest().getrealpath();

以上三個獲得都是當前執行檔案在伺服器上的絕對路徑

從request獲取各種路徑總結 

request.getrealpath("url"); // 虛擬目錄對映為實際目錄 

request.getrealpath("./");    // 網頁所在的目錄 

request.getrealpath("../"); // 網頁所在目錄的上一層目錄 

request.getcontextpath();    // 應用的web目錄的名稱 

如http://localhost:7001/bookstore/ 

/bookstore/ => [contextpath] (request.getcontextpath()) 

獲取web專案的全路徑 

string strdirpath = request.getsession().getservletcontext().getrealpath("/"); 

以工程名為test為例: 

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

結果:/test/test.jsp 

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

結果:/test 

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

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

2.在類中取得路徑: 

(1)類的絕對路徑: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("") 引數可具體到包名。 

結果:http://localhost:8080/test/test 

結果:/test/test

(4)得到專案的路徑:request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+request.getcontextpath()

結果:http://localhost:8080/test

request 獲取各種路徑

從request獲取各種路徑總結 request.getrealpath url 虛擬目錄對映為實際目錄 request.getrealpath 網頁所在的目錄 request.getrealpath 網頁所在目錄的上一層目錄 request.getcontextpath 應用的web目錄的名稱 如...

request 獲取各種路徑

從request獲取各種路徑總結 request.getrealpath url 虛擬目錄對映為實際目錄 request.getrealpath 網頁所在的目錄 request.getrealpath 網頁所在目錄的上一層目錄 request.getcontextpath 應用的web目錄的名稱 如...

request獲取各種路徑

從request獲取各種路徑總結 request.getrealpath url 虛擬目錄對映為實際目錄 request.getrealpath 網頁所在的目錄 request.getrealpath 網頁所在目錄的上一層目錄 request.getcontextpath 應用的web目錄的名稱 如...