婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JSP的相對路徑如何計算深入研究

JSP的相對路徑如何計算深入研究

熱門標簽:地圖標注專業和非專業 福建電銷貓機器人收費 智能電話機器人銷售話術 甘肅銷售電銷機器人公司 山東ai外呼電銷機器人好用嗎 汝南縣地圖標注app 湖北地圖標注公司 外呼直播語音系統 四川正規外呼系統軟件
問題描述:

要在/jsp/index.jsp文件使用圖片,如何計算相對路徑? 經過Servlet,struts轉發后又如何計算相對路徑?

目錄結構:

應用名字:Demo

demo

----webroot

----images

----go.gif

----jsp

----index.jsp

----css

------------------------------------------------------------------------------

第一種情況:直接訪問JSP文件

URL是 http://localhost/Context path/jsp/index.jsp

要在index.jsp引用go.gif文件:

1、使用決對路徑

img src='%=request.getContextPath() %>/images/go.gif'/>

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

2、使用相對路徑

img src='../images/go.gif'/>

瀏覽器尋找方式:通過地址欄分析,index.jsp所在目錄(jsp)的上一層目錄(WebRoot)下的images/go.gif文件 。

3、使用base href

寫%=request.getContextPath() %>太麻煩,可以在每一個jsp文件頂部加入以下代碼

% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> base href="%=basePath%>">

img src='images/go.gif'/>

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

------------------------------------------------------------------------------

第二種情況:servlet轉發到jsp

1、使用相對路徑

URL是http://localhost/Context path/servlet_2 (轉發到/jsp/index.jsp)

錯誤:

根據/jsp/index.jsp路徑計算,得到 img src='../images/go.gif'/>

正確:

img src='images/go.gif'/>

原因:

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路徑計算,得到 img src='../images/go.gif'/>

正確:

img src='../../../images/go.gif'/>

原因:

index.jsp是保存在服務器端的/jsp/index.jsp目錄下面,但通過轉發后瀏覽器并不知道/jsp/目錄的存在,因為地址欄中沒有體現出來。所以服務器端/jsp/目錄并不會對相對路徑產生影響

瀏覽器尋找方式:通過地址欄分析http://localhost/Context path/servlet/ser/ser/servlet_1,相對于servlet_1所在目錄(ser)的上一層目錄的上一層目錄的上一層目錄(/)下的images/go.gif文件

3、使用決對路徑

img src='%=request.getContextPath() %>/images/go.gif'/>

------------------------------------------------------------------------------

總結:相對路徑是由瀏覽器通過地址欄分析出來的,與服務器端文件的存放路徑沒有關系,由其是使用Servlet,struts轉發到某jsp文件后,某jsp在服務器端存放的位置是/a/b/c/d/f/g.jsp , 但經過Servlet,struts轉發后,瀏覽器的地址欄可不一定是/a/b/c/d/f/這樣的層次。所以相對路徑的計算以瀏覽器地址欄為準。

struts2中可以使用命名空間,來保證瀏覽器地址欄中的目錄層次與服務器端目錄層次的一致性,這樣程序員通過服務器端的目錄層次計算相對路徑,在瀏覽器中也是正常的。

但我們理解了原理,就算不使用命名空間,自己也有強大的控制力。
您可能感興趣的文章:
  • JSP對URL鏈接中的中文亂碼處理方法總結
  • jsp中URL傳遞中文參數的處理方法
  • 在jsp頁面如何獲得url參數
  • JSP中js傳遞和解析URL參數以及中文轉碼和解碼問題
  • javascript通過url向jsp頁面傳遞中文參數導致亂碼解決方案
  • jsp文件絕對路徑的設置方法
  • jsp下顯示中文文件名及絕對路徑下的圖片解決方法
  • 在JSP中處理虛擬路徑
  • jsp獲取url路徑的方法分析

標簽:黔東 昌都 梅州 吳忠 南充 白銀 臨沂 肇慶

巨人網絡通訊聲明:本文標題《JSP的相對路徑如何計算深入研究》,本文關鍵詞  JSP,的,相對,路徑,如何,計算,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP的相對路徑如何計算深入研究》相關的同類信息!
  • 本頁收集關于JSP的相對路徑如何計算深入研究的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 沾益县| 磴口县| 瓮安县| 巴塘县| 泸西县| 瓦房店市| 临泽县| 北安市| 新兴县| 伊金霍洛旗| 阿克苏市| 鹤庆县| 新巴尔虎右旗| 无为县| 昌黎县| 石渠县| 临夏县| 高陵县| 调兵山市| 阿合奇县| 浮山县| 新野县| 西安市| 澄迈县| 沙湾县| 滨州市| 巴青县| 宜宾市| 石台县| 恭城| 唐河县| 尚志市| 辽中县| 四子王旗| 竹山县| 明溪县| 辽源市| 孟津县| 剑川县| 侯马市| 循化|