轉:
關於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