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)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 策勒县| 新龙县| 惠州市| 旅游| 包头市| 平果县| 黄梅县| 黄大仙区| 祁门县| 新丰县| 龙陵县| 唐海县| 玉环县| 揭阳市| 宜良县| 祁连县| 平罗县| 密云县| 平凉市| 洛川县| 江门市| 新民市| 紫云| 平昌县| 厦门市| 锦州市| 北海市| 汾阳市| 班玛县| 闸北区| 佛学| 固镇县| 易门县| 微博| 芜湖市| 昌乐县| 兴宁市| 巧家县| 阿克陶县| 徐水县| 政和县|