最近有個(gè)工程,需要把HnSp文件下的index.html作為默認(rèn)頁(yè)面(目錄結(jié)構(gòu)如下),
我在web.xml中設(shè)置<welcome-file>HnSp/index.html</welcome-file>,可是前臺(tái)index.html
能顯示出來(lái),可是頁(yè)面中的圖片都顯示不出來(lái)(index.html中的圖片的路徑都是用的相對(duì)路
徑),后來(lái)在發(fā)現(xiàn)顯示的頁(yè)面中的圖片少了一級(jí),在圖片的路徑前加入HnSp就能正確顯示了
,可是在別的頁(yè)面通過(guò)鏈接訪問(wèn)index.html頁(yè)面,圖片還是顯示不出來(lái),看了知道,多了個(gè)
HnSp,看來(lái)在圖片的路徑前加入HnSp是不對(duì)的,
我一直想不懂為什么,后來(lái)想了個(gè)辦法解決了,就是在WebRoot下新建一個(gè)新的空頁(yè)面
MyJspjsp,寫(xiě)入如下代碼 <%response.sendRedirect("HnSp/index.html"); %>,然后把
<welcome-file>HnSp/index.html</welcome-file>,改為<welcome-
file>MyJsp.jsp</welcome-file>,這樣問(wèn)題就解決了,都不存在路徑錯(cuò)誤問(wèn)題了,
response.sendRedirect()
是在用戶的瀏覽器端工作,sendRedirect()可以帶參數(shù)傳遞,比如servlet?name=frank傳至下
個(gè)頁(yè)面,同時(shí)它可以重定向至不同的主機(jī)上,sendRedirect()可以重定向有frame.的jsp文件.
重定向后在瀏覽器地址欄上會(huì)出現(xiàn)重定向頁(yè)面的URL,由于response是jsp頁(yè)面中的隱含對(duì)象
,故在jsp頁(yè)面中可以用response.sendRedirect()直接實(shí)現(xiàn)重定位。