jsp 中究竟採用絕對路徑還是採用相對路徑隨著所採用技術的越來越複雜,這個問題也變得越來越難以解決。
1) 採用相對路徑遇到的問題
相對路徑固然比較靈活,但如果想複製頁面內的**卻變得比較困難,因為不同的頁面具有不同的相對路徑,複製後必須修改每乙個連線的路徑。
如果頁面被多於乙個的頁面所包含,那麼被包含頁面中的相對路徑將是不正確的。
如果採用 struts 的 action 返回頁面,那麼由於頁面路徑與 action 路徑不同,使得瀏覽器無法正確解釋頁面中的路徑,如頁面為 /pages/cust/cust.jsp ,所有目錄為 /images/title.gif ,這時在 /pages/cust/cust.jsp 中的所用的路徑為 」../../images/title.gif」 ,但是如果某乙個 action 的 forward 指向這個 jsp 檔案,而這個 action 的路徑為 /cust/manage.do ,那麼頁面內容中 」../../images/title.gif」 就不再指向正確的路徑了。
解決以上問題似乎只有使用絕對路徑了。
2) 採用絕對路徑遇到的問題
解決方案:
1) 採用絕對路徑,但為了解決不同部署方式的差別,在所有非 struts 標籤的路徑前加 $ ,如原路徑為:
」/images/title.gif」 ,改為
「$/images/title.gif」 。
** 」 $」 的作用是取出部署的應用程式名,這樣不管如何部署,所用路徑都是正確的。
缺點:
操作不便,其他工具無法正確解釋 $
2) 採用相對路徑,在每個 jsp 檔案中加入 base 標籤,如:
這樣所有的路徑都可以使用相對路徑。
缺點:
對於被包含的檔案依然無效。
真正使用時需要靈活應用1)和2),寫出更加健壯的**。
ps:這裡要注意的是如果用了上面的 $ 表示式的の時候那麼你的web.xml要保證頭是這樣的
<?xml version="1.0" encoding="gbk"?>
確保是2.4的schema
JSP中的絕對路徑和相對路徑
jsp中究竟採用絕對路徑還是採用相對路徑隨著所採用技術的越來越複雜,這個問題也變得越來越難以解決。採用相對路徑遇到的問題 l 相對路徑固然比較靈活,但如果想複製頁面內的 卻變得比較困難,因為不同的頁面具有不同的相對路徑,複製後必須修改每乙個連線的路徑。l 如果頁面被多於乙個的頁面所包含,那麼被包含頁...
相對路徑絕對路徑
前兩天突然發現自己一直以來對相對路徑絕對路徑的理解都是錯的,於是趕緊查了相關資料。1.絕對路徑 絕對路徑是指檔案在硬碟上真正存在的路徑。例如 bg.jpg 這個是存放在硬碟的 e book 網頁布局 第2章 目錄下,那麼 bg.jpg 這個的絕對路徑就是 e book 網頁布局 第2章 bg.jpg...
絕對路徑 相對路徑
一 基本概念 1 相對路徑 相對於當前檔案的路徑。網頁中表示路徑一般使用這個方法。二 相對路徑常見的寫法 代表目前所在的目錄。開頭 代表根目錄。根目錄下有test1資料夾和image image1.jpg,test1下有index1.html檔案和test2資料夾。test2資料夾下有index2....