URL的正確寫法與URL以“/”開頭的含義


經常在頁面中引用圖片,html頁面等,自己常常弄錯相對路徑和絕對路徑,今天寫下此文總結一下。
   直接舉例說明吧。

  在 D:\例子\html下有這么幾個文件和文件夾
  

  1.若引用的資源和本身在同一路徑下(既在同一目錄下)
     
     在example.html中引用tupian.gif

     相對路徑:<img src="tupian.gif" border="0"/>
     絕對路徑:<img src="d:/例子/html/tupian.gif" border="0"/>

絕對的都差不多,只說相對路徑。

2 要引用的文件在下一級文件夾下,文件名前加子文件夾名稱
   假設info.html路徑是:c:\Inetpub\wwwroot\sites\blabla\info.html
   假設index.html路徑是:c:\Inetpub\wwwroot\sites\blabla\html\tutorials\index.html
   在info.html加入index.html超鏈接的href應該這樣寫:html/tutorials/index.html

3 要引用的文件在上一級文件夾下,文件名前加../
    假設info.html路徑是:c:\Inetpub\wwwroot\sites\blabla\info.html
    假設index.html路徑是:c:\Inetpub\wwwroot\sites\index.html
   在info.html加入index.html超鏈接的代碼應該這樣寫:
    <a href="../index.html">index.html</a>

舉一反三:  ../表示源文件所在目錄的上一級目錄,../../表示源文件所在目錄的上上級目錄,以此類推

4 更復雜的情況:
假設info.html路徑是:c:\Inetpub\wwwroot\sites\blabla\info.html
假設index.html路徑是:c:\Inetpub\wwwroot\sites\html\index.html
在info.html加入index.html超鏈接的代碼應該這樣寫:<a href="../html/index.html">index.html</a>

5.最后一個例子
    假設路徑:D:\例子\html\style\view\pop.css
              D:\例子\html\images\view\tupian.gif 
在css中引用這個圖片:<img src="../../images/view/tupian.gif" border="0"/>

 

 

   URL中/開頭的含義:

<a href="/error/error.jsp">跳轉</a>
?之前對這個問題也有疑惑,沒有深究,今天看到自然另外記錄下來。

由"/"開頭的是環境相對地址,也就是程序會從環境(服務器)根目錄開始查找。

而沒有"/"開頭的則是請求相對地址,也就是程序會從發起請求的路徑開始查找。

最常見的例子就是WebContent下的頁面跳轉

假設項目test目錄如下

WebContent????????? //根目錄

----jsp????????????????????//一級子目錄

--------index.jsp

--------error??????????? //二級子目錄

-------------error.jsp

----error???????????????? //一級子目錄

--------error.jsp

?

此時如果在index.jsp中跳轉

<a href="error/error.jsp">跳轉</a>
?則會跳到二級子目錄error中的error.jsp中,實際訪問路徑如下

????http://localhost:8080/test/jsp/error/error.jsp

?

如果跳轉url如下

<a href="/error/error.jsp">跳轉</a>
?則會提示無法找到對應文件,實際訪問路徑如下

??? http://localhost:8080/error/error.jsp

可以看出環境相對地址指的是服務器下的環境並不是同一Web應用環境,具體會不會有編程平台的差異或者不同方式的跳轉會有不同不知道,實驗環境是:eclipse Java ee +tomcat7.0

?

所以如果想要訪問一級目錄下的error文件夾中的error.jsp正確的url跳轉應該如下

<a href="/test/error/error.jsp">跳轉</a>
?實際訪問路徑如下

??? http://localhost:8080/test/error/error.jsp

此時正確訪問。

 

也就是說有“/”:環境(服務器)根目錄開始查找

沒有時:程序會從發起請求的路徑(Web應用目錄)開始查找。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM