<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 2,  comments - 0,  trackbacks - 0
      forward與redirect都是用于引導客戶端的請求到另一個頁面或另一個Servlet中的,二者的區別總結如下:
    1.RequestDispatcher.forward()
       服務端跳轉,無條件立即執行,后面代碼不再執行;
       轉發頁面和轉發到的頁面可以共享request里面的數據;
       forward效率高;
       通常在servlet中使用;
       容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向后的地址,地址欄不改變;
       無法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同時forward()無法在后面帶參數傳遞,比如 servlet?name=frank,這樣不行,可以程序內通過response.setAttribute("name",name)來傳至下一個頁 面;
       一般用于用戶登陸的時候,根據角色轉發到相應的模塊
       注意:forward動作發生時,如果已經有文本被寫入輸出流而且頁面沒有設置緩沖 ,將拋出IllegalStateException異常。

    2.response.sendRedirect()
       客戶斷跳轉,所有代碼執行完后再執行跳轉;
       用戶請求不被發送到下一個頁面,不能共享數據,必須重新設置參數;
       redirect效率低;
       通常在jsp中使用;
       完全的跳轉,瀏覽器將會得到跳轉的地址,并重新發送請求鏈接,這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址;
       可以帶參數傳遞,比如servlet?name=frank傳至下個頁面,同時它可以重定向至不同的主機上,sendRedirect()可以重定向有frame.的jsp文件;
       一般用于用戶注銷登陸時返回主頁面和跳轉到其它的網站等
       注意:response.sendRedirect之后,應該緊跟一句return;
       response.sendRedirect是通過瀏覽器來做轉向的,所以只有在頁面處理完成后,才會有實際的動作。既然你已經要做轉向了,那么后的輸出還有什么意義呢?而且有可能會因為后面的輸出導致轉向失敗。

    http://yilin.iteye.com/blog/893998
    posted on 2012-02-22 13:39 wilsonyq 閱讀(344) 評論(0)  編輯  收藏 所屬分類: javaweb

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产精品一区二区三区在线观看 | 亚洲乱码中文字幕综合234 | 亚洲视频在线一区二区三区| 91免费国产视频| 久久久久久a亚洲欧洲aⅴ| 中文无码成人免费视频在线观看| 亚洲啪啪AV无码片| 美女视频黄a视频全免费网站色窝| 亚洲av午夜福利精品一区| 午夜免费啪视频在线观看| 日本久久久久亚洲中字幕| 日本免费一区二区在线观看| 2020天堂在线亚洲精品专区| 日本高清免费中文字幕不卡| 免费人成大片在线观看播放| 久久夜色精品国产亚洲av| 在线观看黄片免费入口不卡| 1区1区3区4区产品亚洲| 久久WWW免费人成人片| 国产精品亚洲综合| 国产亚洲情侣一区二区无码AV| 青柠影视在线观看免费| 亚洲成a人片在线观看播放| 在线免费观看一区二区三区| 色多多A级毛片免费看| 亚洲福利视频一区| 青青青国产在线观看免费 | 亚洲成a人片77777kkkk| 中文字幕天天躁日日躁狠狠躁免费| 亚洲一区在线观看视频| 亚洲Av无码乱码在线播放| 免费无码作爱视频| 亚洲国产精品一区二区三区在线观看| 免费国产成人午夜电影| 亚洲免费观看视频| 中文字幕亚洲情99在线| 亚洲精品国偷自产在线| 成人免费福利电影| 成人无码精品1区2区3区免费看 | 亚洲一欧洲中文字幕在线| 亚洲国产精品视频|