絕對路徑和相對路徑

2021-08-10 15:08:37 字數 1002 閱讀 3890

一.問題 

jsp中究竟採用絕對路徑還是採用相對路徑隨著所採用技術的越來越複雜,這個問題也變得越來越難以解決。 

1)採用相對路徑遇到的問題 

相對路徑固然比較靈活,但如果想複製頁面內的**卻變得比較困難,因為不同的頁面具有不同的相對路徑,複製後必須修改每乙個連線的路徑。 

如果頁面被多於乙個的頁面所包含,那麼被包含頁面中的相對路徑將是不正確的。 

如果採用struts的action返回頁面,那麼由於頁面路徑與action路徑不同,使得瀏覽器無法正確解釋頁面中的路徑,如頁面為/pages/cust/cust.jsp,所有目錄為/images/title.gif,這時在/pages/cust/cust.jsp中的所用的路徑為」但是如果某乙個action的forward指向這個jsp檔案,而這個action的路徑為/cust/manage.do,那麼頁面內容中」就不再指向正確的路徑了。 

解決以上問題似乎只有使用絕對路徑了。

2)採用絕對路徑遇到的問題 

二.解決方案 

1)採用絕對路徑,但為了解決不同部署方式的差別,在所有非struts標籤的路徑前加$,如原路徑為: 

」/images/title.gif」,改為 

「$/images/title.gif」。 

**」 $」的作用是取出部署的應用程式名,這樣不管如何部署,所用路徑都是正確的。

缺點: 

操作不便,其他工具無法正確解釋$ 

2) 採用相對路徑,在每個jsp檔案中加入base標籤,如: 

這樣所有的路徑都可以使用相對路徑。

缺點: 

對於被包含的檔案依然無效。 

真正使用時需要靈活應用1)和2),寫出更加健壯的**。 

在使用的時候可以使用$,也同時可以使用<%=request.getcontextpath()%>達到同樣的效果,同時,也可以將$,放入乙個jsp檔案中,將用c:set放入乙個變數中,然後在用的時候用el表示式取出來。  

如: jsp**

"ctx" value="$" />  

相對路徑絕對路徑

前兩天突然發現自己一直以來對相對路徑絕對路徑的理解都是錯的,於是趕緊查了相關資料。1.絕對路徑 絕對路徑是指檔案在硬碟上真正存在的路徑。例如 bg.jpg 這個是存放在硬碟的 e book 網頁布局 第2章 目錄下,那麼 bg.jpg 這個的絕對路徑就是 e book 網頁布局 第2章 bg.jpg...

絕對路徑 相對路徑

一 基本概念 1 相對路徑 相對於當前檔案的路徑。網頁中表示路徑一般使用這個方法。二 相對路徑常見的寫法 代表目前所在的目錄。開頭 代表根目錄。根目錄下有test1資料夾和image image1.jpg,test1下有index1.html檔案和test2資料夾。test2資料夾下有index2....

相對路徑和絕對路徑

表示原始檔所在目錄的上一級目錄,表示原始檔所在目錄的上上級目錄,以此類推。假設info.html路徑是 c inetpub wwwroot sites blabla info.html 假設index.html路徑是 c inetpub wwwroot sites index.html index....