request.getRequestDispatche("").forward(request,response) 與 response.sendRedirect("")的區別

          1、forward重定向是在容器內部實現的同一個Web應用程序的重定向,所以forward方法只能重定向到同一個Web應用程序中的一個資源, 重定向后瀏覽器地址欄 URL 不變 ,而sendRedirect方法可以重定向到任何URL, 因為這種方法是修改http頭來實現的,URL沒什么限制, 重定向后瀏覽器地址欄 URL 改變
          2、forward重定向將原始的HTTP請求對象(request)從一個servlet實例傳遞到另一個實例,而采用sendRedirect方式兩者不是同一個application。
          3、基于第二點,參數的傳遞方式不一樣。forward的form參數跟著傳遞,所以在第二個實例中可以取得HTTP請求的參數。sendRedirect只能通過鏈接傳遞參數,response.sendRedirect(“ login.jsp?param1=a”)。
          4、sendRedirect能夠處理相對URL,自動把它們轉換成絕對URL,如果地址是相對的,沒有一個‘/’,那么Web container就認為它是相對于當前的請求URI 的。比如,如果為response.sendRedirect("login.jsp"),則會從當前servlet 的URL 路徑下找login.jsp: http://10.1.18.8:8081/dms/servlet/Servlet 重定向的URL: http://10.1.18.8:8081/dms/servlet/login.jsp ,如果為response.sendRedirect("/login.jsp")則會從當前應用徑下查找url:http://10.1.18.8:8081/login.jsp 。而forward不能這樣處理相對路徑。

          posted on 2008-12-07 12:30 丁克設計 閱讀(1257) 評論(0)  編輯  收藏 所屬分類: j2ee技術文檔

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 嘉禾县| 蕲春县| 新巴尔虎右旗| 浦城县| 曲阳县| 永登县| 绥阳县| 上蔡县| 克什克腾旗| 比如县| 尼勒克县| 谷城县| 福贡县| 敦煌市| 大城县| 印江| 阳曲县| 皮山县| 万山特区| 叙永县| 潍坊市| 庆安县| 麦盖提县| 云阳县| 恩平市| 满洲里市| 板桥市| 大新县| 黑河市| 兴安盟| 金昌市| 新化县| 静安区| 江川县| 德化县| 景洪市| 齐齐哈尔市| 甘泉县| 石柱| 行唐县| 丰镇市|