jsp路徑獲取

2021-06-18 14:38:01 字數 1243 閱讀 8752

第一種情況 :直接訪問jsp檔案

url是 http://localhost/context path/jsp/index.jsp

要在index.jsp引用go.gif檔案:

1、使用決對路徑

瀏覽器尋找方式: 網域名稱+/context path/images/go.gif   ,可找到。

2、使用相對路徑

瀏覽器尋找方式:通過位址列分析,index.jsp所在目錄(jsp)的上一層目錄(webroot)下的images/go.gif檔案 。

3、使用base href

寫太麻煩,可以在每乙個jsp檔案頂部加入以下**

">

瀏覽器尋找方式: basepath的值http://localhost/context path/再加上images/go.gif,可找到。

第二種情況: servlet**到jsp

1、使用相對路徑

url是http://localhost/context path/servlet_2   **發到/jsp/index.jsp)

錯誤:根據/jsp/index.jsp路徑計算,得到

正確:原因:index.jsp是儲存在伺服器端的/jsp/index.jsp目錄下面,但通過**後瀏覽器並不知道/jsp/目錄的存在,因為位址列中沒有體現出來。所以伺服器端/jsp/目錄並不會對相對路徑產生影響

瀏覽器尋找方式:通過位址列分析http://localhost/context path/servlet_2 ,相對於servlet_2所在目錄(/)下面找到images/go.gif檔案

2、使用相對路徑

url是http://localhost/context path/servlet/ser/ser/servlet_1 **發到/jsp/index.jsp)

「/servlet/ser/ser/servlet_1 是在web.xml檔案配置的

錯誤:根據/jsp/index.jsp路徑計算,得到

正確:

原因:index.jsp是儲存在伺服器端的/jsp/index.jsp目錄下面,但通過**後瀏覽器並不知道/jsp/目錄的存在,因為位址列中沒有體現出來。所以伺服器端/jsp/目錄並不會對相對路徑產生影響

瀏覽器尋找方式:通過位址列分析http://localhost/context path/servlet/ser/ser/servlet_1,相對於servlet_1所在目錄(ser)的上一層目錄的上一層目錄的上一層目錄(/)下的images/go.gif檔案

3、使用決對路徑

jsp中獲取根路徑的方法

1.pagecontext本身就是乙個域物件,他表示當前jsp頁面的執行環境,該物件可以操作另外三個域 request域,session域,servletcontext域 這裡,pagecontext物件中有getrequest 方法,所以,在使用el表示式時,省略get,並將request變成小寫...

jsp中的basePath,獲取應用的路徑

1 2 3 4 5 string path request.getcontextpath string basepath request.getscheme request.getservername request.getserverport path request.getschema 可以返回...

jsp路徑問題

今天在intellij idea 中做的專案 提交到svn 同事檢出後 發現各種資源找不到 或者請求的路徑不正確 這是由於在idea中部署的專案是根路徑 而同事部署不是的 搞得有點鬱悶 最後發現乙個號辦法 在jsp中新增標籤專案中所有的路徑都是相對base路徑的就好了 如下 string path ...