1. 程式人生 > 其它 >Servlet中轉發與重定向的區別

Servlet中轉發與重定向的區別

技術標籤:原創知識點課後作品javaservletmyeclipse

開發工具和關鍵技術:MyEclipse CI,Java、Servlet
作者:金建勇
撰寫時間:2019年1月18日

在學習Servlet後,我們知道了如何頁面跳轉和從頁面獲取引數等。下面要說的就是其中的頁面跳轉,頁面跳轉是開發一個web應用經常會發生的事情。比如登入成功或是失敗後,分別會跳轉到不同的頁面。跳轉的方式有兩種,服務端跳轉(轉發)和客戶端跳轉(重定向)。
這兩種當然是有不同之處,下面就來看看兩者的區別。

轉發的特點:

  1. 位址列不發生變化,顯示的是上一個頁面的地址
  2. 請求次數:只有1次請求
  3. 根目錄:http://localhost:8080/專案地址/,包含了專案的訪問地址
  4. 請求域中資料不會丟失

程式碼如下圖所示:
在這裡插入圖片描述

在瀏覽器位址列輸入http://localhost:8080/JWeb/LoginServlet,
效果如下圖所示:
在這裡插入圖片描述

可以看到頁面成功跳轉了,但是位址列沒有發生變化。

下面再看重定向
特點:

  1. 位址列:顯示新的地址
  2. 請求次數:2次
  3. 根目錄:http://localhost:8080/ 沒有專案的名字
  4. 請求域中的資料會丟失,因為是2次請求
    程式碼如下圖所示:
    在這裡插入圖片描述

同樣瀏覽器位址列輸入http://localhost:8080/JWeb/LoginServlet
效果如下圖所示:
在這裡插入圖片描述

頁面成功跳轉了,但是位址列發生了變化。

以上就是Servlet中轉發和重定向的最大區別,詳細區別如下圖所示:
在這裡插入圖片描述

(摘自學習文件)

以上就是這個案例全部內容了,供大家學習和參考。