java web工程各種路徑取得

2021-08-02 06:44:02 字數 1409 閱讀 8752

request.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

javaweb獲取各種路徑

println 獲取全路徑 協議型別 網域名稱 專案名 命名空間 action名稱?其他引數 url url string url2 request.getscheme request.getservername request.getrequesturi system.out println 協議...

JAVA web工程結構

技術應用 例項 1 技術架構 struts2,jdbc 連線池 jquery,ajax 2 設計思想 mvc和分層設計思想 a.顯示層 jsp元件 jquery,ajax b.控制層 struts2控制器元件 action元件 c.業務層 bean元件 d.資料訪問層 dao元件 jdbc 搭建工程...

java web 路徑問題

路徑問題 專案開發用絕對路徑 生產環境是絕對路徑 因為相對路徑很難找 相對的參照物無法固定 1 表示是根路徑。一是伺服器根路徑 二是web 應用根路徑 即專案名 在 tomcat 中發布的專案就是 webroot 裡的內容 在位址列中輸入 會訪問這個伺服器下預設訪問檔案 預設值 相當於選中檔案,回車...