重定向是一種特殊的頁面,它提供一種運做機制,使得人們在輸入該名稱進入條目或者點擊指向該名稱的內部連接時,系統可以自動導航到重定向頁面內部指定的另外一相關頁面中,從而實現相關頁面能夠以多個名稱進行訪問。瀏覽器
響應重定向與轉發相似,但二者有如下區別:服務器
(1)當使用轉發時,JSP容器將使用一個內部的方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器將不會知道這個過程。與之相反,重定向方式的含義是第一個頁面通知瀏覽器發送一個新的頁面請求。由於,當你使用重定向時,瀏覽器中所顯示的URL會變成新頁面的URL, 而當使用轉發時,該URL會保持不變。ide
(2)重定向的速度比轉發慢,由於瀏覽器還得發出一個新的請求。同時,因爲重定向方式產生了一個新的請求,因此通過一次重定向後,request內的對象將沒法使用。spa
響應重定向與請求轉發的區別:.net
(1)RequstDispatcher對象是一個Web資源的包裝器,能夠用來把當前請求轉發到該資源。這種轉發是服務器端控制權的轉向,客戶端發來的請求將交由新的頁面進行處理。使用請求轉發,在客戶瀏覽器的地址欄中不會顯示轉發後的資源地址。使用請求轉發能夠將前一個頁面的數據、狀態等信息傳到轉發的頁面。對象
(2)使用響應對象的sendRedirect()方法其實是服務器向瀏覽器發送的一個特殊的響應頭,它命令瀏覽器鏈接到新的位置。所以,使用這種方法在瀏覽器的地址欄中能夠看到地址的變化。重定向是做爲不一樣請求來看待的,所以,全部請求做用域的參數在重定向到下一個頁面時會失效。另外,使用sendRedirect()方法重定向時,資源不能位於WEB-INF目錄下。資源