請求轉發 :瀏覽器
做用:實現多個servlet 聯動操做處理請求,這樣避免代碼冗餘,讓servlet 的職責更加明確。服務器
使用: req.getRequestDispatcher("要轉發的地址").forward(req,resp);spa
地址:相對路徑,直接書寫servlet 的別名便可。對象
特色: 一次請求,瀏覽器地址欄信息不改變。資源
注意:
* 請求轉發後直接return結束便可作用域
解決的問題:服務器在接收到瀏覽器的請求後,僅僅使用一個Servlet 進行處理,會形成不一樣的Servletget
邏輯代碼冗餘,Servlet 的職責不明確。servlet
reuqet做用域:
* 解決了一次請求內的servlet的數據共享問題
*重定向:
* 解決了表單重複提交的問題,以及當前servlet沒法處理的請求的問題。
* 使用:
* resp.sendRedirect(String uri);
* 示例:
* resp.sendRedirect("/login/main");
* 特色:
* 兩次請求,兩個request對象。
* 瀏覽器地址欄信息改變
* 時機:
* 若是請求中有表單數據,而數據又比較重要,不能重複提交,建議使用重定向。
* 若是請求被Servlet接收後,沒法進行處理,建議使用重定向定位到能夠處理的資源class