1.當使用轉發時,JSP容器將使用一個內部方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器不會知道這個過程; 2.重定向是第一個頁面通知瀏覽器發送一個新的頁面請求. 3.轉發不改變URL,重定向回改變URL; 4.因為瀏覽器要發出新請求,故而重定向慢一些; 5.由於發生了新請求,故而重定向之 ...
1.當使用轉發時,JSP容器將使用一個內部方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器不會知道這個過程;
2.重定向是第一個頁面通知瀏覽器發送一個新的頁面請求.
3.轉發不改變URL,重定向回改變URL;
4.因為瀏覽器要發出新請求,故而重定向慢一些;
5.由於發生了新請求,故而重定向之後request內的對象無法再使用,因為新請求產生了新的reque;
6.通常情況下,轉發快,還能保持request,所以建議優先選擇使用轉發,但不知足之處在與URL仍然指向開始頁面,若重載當前頁面,開始頁面也會被重新調用;
7.不要僅僅為了把變數傳到下一頁而用session,這會無故增大作用域,用轉發也能打到這個效果.
8.無論是RequestDispatcher.forward方法,還是HttpServletResponse.sendRedirect方法,在調用它們之前,都不能有內容已經被實際輸出到了客戶端。如果緩衝區中已經有了一些內容,這些內容將被從緩衝區中清除。