Web專案獲取路徑的方法

2021-07-15 05:35:06 字數 1408 閱讀 6534

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

獲取專案路徑的方法

1.最近在做乙個專案,需要獲取classes資料夾的具體路徑,web伺服器是tomcat首先想到的httpservletrequest request自帶的方法,於是 string path request.getsession getservletcontext getrealpath syste...

web專案中各種路徑的獲取

絕對路徑 絕對路徑就是你的主頁上的檔案或目錄在硬碟上真正的路徑,url和物理路徑 例如 c xyz test.txt 代表了test.txt檔案的絕對路徑。也代表了乙個url絕對路徑。相對路徑 相對與某個基準目錄的路徑。包含web的相對路徑 html中的相對目錄 例如 在servlet中,代表web...

web專案獲取全路徑 埠 專案名等

感謝大佬 request.getschema 返回的是當前連線使用的協議,一般應用返回的是http ssl返回的是https request.getservername 返回當前頁面所在的伺服器的名字 request.getserverport 返回當前頁面所在的伺服器使用的埠,80 request...