亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1467 | 回復(fù): 0
打印 上一主題 下一主題

${pageContext.request.contextPath}的作用 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-12-22 08:54 |只看該作者 |倒序瀏覽

一.問題
JSP中究竟采用絕對路徑還是采用相對路徑隨著所采用技術(shù)的越來越復(fù)雜,這個問題也變得越來越難以解決。
1)采用相對路徑遇到的問題
l 相對路徑固然比較靈活,但如果想復(fù)制頁面內(nèi)的代碼卻變得比較困難,因為不同的頁面具有不同的相對路徑,復(fù)制后必須修改每一個連接的路徑。
l 如果頁面被多于一個的頁面所包含,那么被包含頁面中的相對路徑將是不正確的。
l 如果采用Struts的Action返回頁面,那么由于頁面路徑與Action路徑不同,使得瀏覽器無法正確解釋頁面中的路徑,如頁面為/pages/cust/cust.jsp,圖片所有目錄為/images/title.gif,這時在/pages/cust/cust.jsp中的所用的路徑為”../../images/title.gif”,但是如果某一個Action的Forward指向這個JSP文件,而這個Action的路徑為/cust/manage.do,那么頁面內(nèi)容中”../../images/title.gif”就不再指向正確的路徑了。
解決以上問題似乎只有使用絕對路徑了。
2)采用絕對路徑遇到的問題
l 隨著不同的Web應(yīng)用發(fā)布方式,絕對路徑的值也不同。如Web應(yīng)用發(fā)布為MyApp,則路徑”/MyApp/images/title.gif”是正確的,但發(fā)布為另一應(yīng)用時如MyApp2,這個路徑就不對了,也許這個情況比較少,但以default方式發(fā)布Web應(yīng)用時以上絕對路徑也不同:”/images/title.gif”。

二.解決方案
1)采用絕對路徑,但為了解決不同部署方式的差別,在所有非struts標(biāo)簽的路徑前加${pageContext.request.contextPath},如原路徑為:
”/images/title.gif”,改為
“${pageContext.request.contextPath}/images/title.gif”。
代碼” ${pageContext.request.contextPath}”的作用是取出部署的應(yīng)用程序名,這樣不管如何部署,所用路徑都是正確的。
缺點:
操作不便,其他工具無法正確解釋${pageContext.request.contextPath}
2) 采用相對路徑,在每個JSP文件中加入base標(biāo)簽,如:
<base href="http://${header['host']}${pageContext.request.contextPath}/pages/cust/relation.jsp" />
這樣所有的路徑都可以使用相對路徑。
缺點:
對于被包含的文件依然無效。
真正使用時需要靈活應(yīng)用1)和2),寫出更加健壯的代碼。

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP