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 閱讀(833) 評論(0)  編輯  收藏 所屬分類: J2EE基礎
          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安陆市| 弋阳县| 余庆县| 怀来县| 大洼县| 黄大仙区| 沙坪坝区| 汾阳市| 淮北市| 榕江县| 定襄县| 肃宁县| 东台市| 白城市| 高邮市| 营口市| 五河县| 鄂温| 泽库县| 安多县| 社旗县| 鸡西市| 邳州市| 库尔勒市| 屏东县| 北流市| 江都市| 岳普湖县| 汉寿县| 阿拉善盟| 陇川县| 岱山县| 定结县| 潜山县| 江安县| 革吉县| 张家川| 东宁县| 宣城市| 界首市| 勃利县|