如何用Servlet實現頁面跳轉?

前言

一般來說當我們在登錄頁面填寫信息提交後,會有相應的servlet獲取,與數據庫中已有的信息進行比對,若有,則不會直接輸出登錄成功,而是跳轉到相應的頁面。這裡,就有兩種方式,本文整理了兩種方式以及它們的異同點。

重定向

如何用Servlet實現頁面跳轉?

  1. 地址上顯示的是最後的那個資源的路徑地址
  2. 請求次數最少有兩次, 服務器在第一次請求後,會返回302 以及一個地址, 瀏覽器在根據這個地址,執行第二次訪問。
  3. 可以跳轉到任意路徑。 不是自己的工程也可以跳。
  4. 效率稍微低一點, 執行兩次請求。
  5. 後續的請求,沒法使用上一次的request存儲的數據,或者 沒法使用上一次的request對象,因為這是兩次不同的請求

請求轉發

如何用Servlet實現頁面跳轉?

  1. 地址上顯示的是請求servlet的地址。 返回200 ok
  2. 請求次數只有一次, 因為是服務器內部幫客戶端執行了後續的工作。
  3. 只能跳轉自己項目的資源路徑 。
  4. 效率上稍微高一點,因為只執行一次請求。
  5. 可以使用上一次的request對象。

兩者的區別

如何用Servlet實現頁面跳轉?


分享到:


相關文章: