sendRedirect()方法
response.sendRedirect(跳轉頁面URL)
就是服務端根據邏輯,發送一個狀態碼(Location ,狀態碼320),告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有參數重新請求,所以session,request參數都可以獲取。
服務方(如:servlet)直接將目標URL發回瀏覽器,讓瀏覽器自己自動重新向目標URL發出HTTP請求。
重定向是作為不同請求來看待的。
在上面我是使用了doGet的方法來實現,在此之前我在頁面中傳入了兩個參數,而在使用sendRedirect方法進行重定向時,參數並沒有被一起傳輸過去。
RequestDispatcher.forward()方法
forward是服務器請求資源,服務器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,然后把這些內容再發給瀏覽器,瀏覽器根本不知道服務器發送的內容是從哪兒來的,所以它的地址欄中還是原來的地址。
服務方(如:servlet)將請求轉發到同一個WEB應用程序中另一個Servlet(或:JSP)--第三方 進行處理(該過程瀏覽器方-客戶方並不知道),讓這個第三方直接將結果返回給瀏覽器方。
而使用forword()方法時,傳入的參數也能隨之一起跳轉。
