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 裡的內容 在位址列中輸入 會訪問這個伺服器下預設訪問檔案 預設值 相當於選中檔案,回車...