關於request.getRequestDispatcher()的兩個方法以及request域


轉:

關於request.getRequestDispatcher()的兩個方法以及request域
原創
————————————————
版權聲明:本文為CSDN博主「DoNg_2521」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/h2503652646/java/article/details/83661347

 

關於request.getRequestDispatcher()的兩個方法以及request域
原創 DoNg_2521 最后發布於2018-11-02 21:00:48 閱讀數 29853 收藏
展開

一、getRequestDispatcher()

getRequestDispatcher()包含兩個方法,分別是請求轉發和請求包含。

RequestDispatcher rd = request.getRequestDispatcher("/MyServlet");

請求轉發: rd.forward( request , response );
請求包含: rd.include( request , response);

一個請求跨多個Servlet,需要使用轉發和包含。

請求轉發:由下一個Servlet完成響應體!當前Servlet可以設置響應頭!(留頭不留體)
請求包含:由兩個Servlet共同完成響應體!(留頭又留體)

無論是請求轉發還是請求包含,都在一個請求范圍內!使用同一個request和response!

二、請求轉發和重定向的區別:

請求轉發是一個請求一次響應,而重定向是兩次請求兩次響應。
請求轉發地址不變化,而重定向會顯示后一個請求的地址
請求轉發只能轉發到本項目其它Servlet,而重定向不只能重定向到本項目的其它Servlet,還能定向到其它項目
請求轉發是服務端行為,只需給出轉發的Servlet路徑,而重定向需要給出requestURI,既包含項目名!

三、request域
同一個請求范圍內使用request.setAttribute()和request.getAttribute()來傳值!前一個Servlet調用setAttribute()保存值,后一個Servlet調用getAttribute()獲取值;

點贊 19
收藏
分享

————————————————
版權聲明:本文為CSDN博主「DoNg_2521」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/h2503652646/java/article/details/83661347


免責聲明!

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



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