請求包含、請求轉發、重定向的區別


1、請求轉發和請求包含的相同點

(1)請求包含和請求轉發都是在一個請求中,訪問兩個Servlet。
(2)請求包含和請求轉發都是有一個Servlet去調用執行另一個Servlet
(3)請求包含和請求轉發都可以共享request中的數據,因為都是一個請求。

(4)請求轉發和請求包含都要使用RequestDispatcher對象:RequestDispatcher rd = request.getRequestDispatcher("/BServlet");

(5)請求轉發和請求包含的路徑都是服務器端路徑,相對當前應用

2、請求轉發和請求包含的不同點

(1)請求轉發執行RequestDispatcher的forward()方法:rd.forward(request,response);

(2)請求包含執行RequestDispatcher的include()方法:rd.include(request,response);

 

3、 請求轉發與重定向
* 請求轉發是一個請求,而重定向是兩個請求
* 請求轉發,是使用RequestDispatcher來完成,重定向使用response對象來完成
* 請求轉發的路徑都是服務器端路徑,而重定向是客戶端路徑,需要給出應用名稱
* 請求轉發在瀏覽器地址欄中的地址是第一個Servlet的路徑,而重定向在地址欄中的地址是第二個請求的Servlet的路徑
* 請求轉發中的兩個Servlet是可以共享request數據的,而重定向因為是兩個請求,所以不能共享request數據
* 請求轉發只能轉發到本應用的其他Servlet,而重定向可以重定向到其他應用中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM