posts - 262,  comments - 221,  trackbacks - 0

          一、Forward與Redirect與<a href >的路徑區別

          forward的路徑如果是以"/"開頭,則表示相對Web應用的context, 如果不是則表示相對于當前請求
          redirect的路徑如果是以"/"開頭,則表示相對于主機, 如果不是則表示相對于當前請求
          <a href>的路徑如果是"/"開頭,則表示相對于主機,如果不是則表示相對于當前請求

          二、Forward與Redirect對HTML鏈接的影響

          最近在寫一個JSP頁面時,碰到一個奇怪的問題,有一個頁面(forward_from.jsp)根據一個隨機數選擇“轉發”或“重定向”到第二個頁面(forward_result.jsp),在第二個頁面有一個返回的鏈接:<a href = "../forward_from.jsp">。

          測試時發現如果第一個頁面是“重定向”到第二個頁面的,則當用戶點擊第二個頁面的返回鏈接時一切正常,當如果是以“轉發”的方式訪問第二個頁面,當用戶點擊返回鏈接會出現“404: File not found”的錯誤。

          ·頁面結構




          當從forward_from.jsp“重定向”到forward_result.jsp時,瀏覽器的地址欄的URL是:

          http://localhost:8081/j2eeTestProject/pages/forward/forward_result.jsp

          當從forward_from.jsp“轉發”到forward_result.jsp時,瀏覽器的地址欄的URL是:

          http://localhost:8081/j2eeTestProject/pages/forward_from.jsp


          當從forward_from.jsp“重定向”到forward_result.jsp時,forward_result.jsp頁面的返回鏈接<a href = "../forward_from.jsp">是:

          http://localhost:8081/j2eeTestProject/pages/forward_from.jsp

          當從forward_from.jsp“轉發”到forward_result.jsp時,forward_result.jsp頁面的返回鏈接<a href ="../forward_from.jsp">是:

          http://localhost:8081/j2eeTestProject/forward_from.jsp

          從上面的瀏覽器URL和頁面的鏈接寫法我們就可以看出問題所在,因為<a href = "../forward_result.jsp">參考的是Web瀏覽器中地址欄的URL,當“轉發”時因為瀏覽器的URL地址保持不變,所以“../”就被瀏覽器解析成:/j2eeTestProject/,而“重發”時因為瀏覽器的URL地址是真正頁面的地址(/pages/forward/forward_result.jsp),所以../被瀏覽器解析成:/j2eeTestProject/pages/。而這個路徑顯然是不存在的。

          總結:以后在JSP中盡量不要使用"../"這樣的寫法,我們可以使用request.getServletContext()或request.getServletPath()來定位到Web應用的根目錄或當前的請求對象。



          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2008-01-15 23:28 Paul Lin 閱讀(830) 評論(0)  編輯  收藏 所屬分類: J2EE基礎
          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 潼南县| 吐鲁番市| 垦利县| 华池县| 天气| 威远县| 双辽市| 罗田县| 铜梁县| 临夏市| 古交市| 乡宁县| 响水县| 梅河口市| 青岛市| 西丰县| 藁城市| 东乌珠穆沁旗| 天水市| 曲靖市| 华容县| 乌海市| 甘洛县| 连城县| 华阴市| 上饶市| 东乡族自治县| 山阳县| 靖江市| 衡南县| 北宁市| 广水市| 勐海县| 义乌市| 简阳市| 铜川市| 乌拉特后旗| 古蔺县| 丹凤县| 油尖旺区| 五台县|