1. 程式人生 > >(6)開發收穫 JSP頁面中的相對路徑問題

(6)開發收穫 JSP頁面中的相對路徑問題

   使用MyEclipse自動生成的JSP頁面中會自動加上下面兩句話:

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

W3C標準中的定義主要如下:

HTML 的<base> 標籤為頁面上的所有連結規定預設地址或預設目標。

屬性:

href 屬性規定頁面中所有相對連結的基準 URL。

target 屬性規定在何處開啟頁面上的所有連結。

注意:<base> 標籤必須位於 head 元素內部。

在 HTML 中,<base> 標籤沒有結束標籤;在 XHTML 中,<base> 標籤必須被正確地關閉。

因此,很多JSP開發的人在做專案的時候經常會因為相對路徑和絕對路徑問題而煩惱,加上了

<base href="<%=basePath%>">
則該網頁中所有的相對路徑省略的前面部分就是base path,也就是加上base path之後就是絕對路徑,但是如果沒有加上這個base path的話,就以相對路徑的方式來查詢。

相對路徑:相對路徑總是基於當前檔案所在路徑為基點開始算起。這與放不放在Web應用伺服器上沒有關係。

1、同級目錄:直接寫就行,不需要寫目錄資訊。

2、下級目錄:直接寫目錄名加檔名就行。

3、父級目錄。在目錄名前加“..”就行。

CSS檔案中的相對路徑也是如此。

以上是開發過程中的一點收穫,查詢資料後簡單總結了一下,希望幫助到大家。