关于request.getRequestDispatcher()的两个方法
一、getRequestDispatcher()
getRequestDispatcher()包含兩個重要方法,分別是請求轉(zhuǎn)發(fā)和請求包含。一個請求跨多個Servlet時,需要使用請求轉(zhuǎn)發(fā)和請求包含。
首先需要獲得一個RequestDispatcher 對象:RequestDispatcher rd = request.getRequestDispatcher("/MyServlet");
請求轉(zhuǎn)發(fā): rd.forward( request , response );
請求包含: rd.include( request , response);
需注意的是,無論是請求轉(zhuǎn)發(fā)還是請求包含,都在一個請求范圍內(nèi)!使用同一個request和response!
二、請求轉(zhuǎn)發(fā)和請求包含的區(qū)別
請求轉(zhuǎn)發(fā):由下一個Servlet完成響應體,當前Servlet可以設置響應頭(留頭不留體)。舉個例子,AServlet請求轉(zhuǎn)發(fā)到BServlet,那么AServlet不能夠使用response.getWriter() 和response.getOutputStream()向客戶端輸出響應體,但可以使用response.setContentType(“text/html;charset=utf-8”) 設置響應頭。而在BServlet中可以輸出響應體。
請求包含:由兩個Servlet共同完成響應體(留頭又留體)。同樣用上面的例子,AServlet請求包含到BServlet,那么AServlet既可以設置響應頭,也可以完成響應體。
總結(jié)
以上是生活随笔為你收集整理的关于request.getRequestDispatcher()的两个方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 音高和基频(Pitch and F0)
- 下一篇: 损失函数|交叉熵损失函数