瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          轉發和重定向的區別的一點理解

          Posted on 2007-09-24 21:54 瘋狂 閱讀(3629) 評論(8)  編輯  收藏


          他們的調用分別如下例:
          request.getRequestDispatcher("new.jsp").forward(request, response);//轉發到new.jsp
          response.sendRedirect("new.jsp");//重定向到new.jsp

          在jsp頁面中你也會看到通過下面的方式實現轉發:

          <jsp:forward page="apage.jsp" />


          重定向過程:客戶瀏覽器發送http請求----》web服務器接受后發送302響應要求客戶瀏覽器發送一個新的http請求----》客戶端瀏覽器接受此響應后在發送一個新的http請求到服務器----》服務器根據此請求尋找資源并發送給客戶,可以重定向到任意URL,不能共享request范圍內的數據
            

          轉發過程:客戶瀏覽器發送http請求----》web服務器接受此請求后調用內部的一個方法在容器內部完成請求處理和轉發動作----》將目標資源發送給客戶,只能在同一個web應用中使用,可以共享request范圍內的數據



          怎么選擇是重定向還是轉發呢?通常情況下轉發更快,而且能保持request內的對象,所以他是第一選擇。但是由于在轉發之后,瀏覽器中URL仍然指向開始頁面,此時如果重載當前頁面,開始頁面將會被重新調用。如果你不想看到這樣的情況,則選擇轉發。

          評論

          # re: 轉發和重定向的區別的一點理解  回復  更多評論   

          2007-09-25 00:17 by xmlspy
          一個是客戶端跳轉,一個是服務器端跳轉

          # re: 轉發和重定向的區別的一點理解  回復  更多評論   

          2007-09-25 07:40 by 久城
          最后一句話,是不是..........

          # re: 轉發和重定向的區別的一點理解  回復  更多評論   

          2007-09-25 08:43 by 編程、設計是職業更是愛好
          怎么描述的有些矛盾呢?以前沒有仔細考慮過,一會兒自己動手試試吧

          # re: 轉發和重定向的區別的一點理解  回復  更多評論   

          2007-09-25 09:01 by 編程、設計是職業更是愛好
          OK了,正如forward的定義,跳轉時將攜同request對象,sendRedirect只是模擬console重發了一次請求。因此,前者不會引起Browser Address 的變化,后者會。

          # re: 轉發和重定向的區別的一點理解[未登錄]  回復  更多評論   

          2007-09-25 09:09 by Java
          寫反了吧,紅色的字和藍色的字,應該是

          重定向過程:客戶瀏覽器發送http請求----》web服務器接受后發送302響應要求客戶瀏覽器發送一個新的http請求----》客戶端瀏覽器接受此響應后在發送一個新的http請求到服務器----》服務器根據此請求尋找資源并發送給客戶,它可以重定向到任意URL,不能共享request范圍內的數據。


          轉發過程:客戶瀏覽器發送http請求----》web服務器接受此請求后調用內部的一個方法在容器內部完成請求處理和轉發動作----》將目標資源發送給客戶,它只能在同一個web應用中使用,可以共享request范圍內的數據。

          # re: 轉發和重定向的區別的一點理解  回復  更多評論   

          2007-09-25 09:40 by 草兒
          好像bz弄反了哈哈

          # re: 轉發和重定向的區別的一點理解  回復  更多評論   

          2007-09-25 18:14 by 喬兵
          各位眼力不錯,是有錯誤,已改正,如給大家帶來不便請見諒

          # re: 轉發和重定向的區別的一點理解  回復  更多評論   

          2007-09-27 10:50 by 千里冰封
          呵呵,知錯能改不錯

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 平阴县| 全椒县| 鄢陵县| 成都市| 鲜城| 章丘市| 和平县| 临泽县| 信丰县| 平远县| 屏山县| 祥云县| 揭西县| 象州县| 焉耆| 新巴尔虎左旗| 永平县| 石门县| 来安县| 襄垣县| 梁河县| 启东市| 永清县| 汉阴县| 太康县| 莲花县| 临沧市| 长兴县| 宽甸| 东乡县| 礼泉县| 凌海市| 广水市| 赤水市| 温宿县| 吕梁市| 崇礼县| 泰州市| 兴和县| 凤城市| 西藏|