RequestDispatcher提供两个方法:forward,include有什么区别
都表示要跳轉到其他資源,不同的是,如果使用forward跳轉則后面的response輸出則不會執行,而用include
來跳轉,則include的servlet執行完后,再返回到原來的servlet執行response的輸出(如果有)。如:
servlet A
RequestDispatcher disp = request.getRequestDispatcher("B");
disp.forward(request, response);
System.out.println("servlet A completed");
PrintWriter pw = response.getWriter();
pw.println("servlet A");
servlet B
PrintWriter pw = response.getWriter();
pw.println("servlet B");
輸出結果:
控制臺:servlet A completed
頁面:servlet B
如果將forward換成include的話,則結果為:
控制臺:servlet A completed
頁面:servlet B servlet A
PS:如果在servlet B里吧pw給close掉了的話,那servlet A 這里就無法輸出了,則結果就和第一個一樣。
轉載自:http://zhidao.baidu.com/link?url=e26QMvyp56pvuruYc4NSD-W1EXoyOrMZwfay4vhF56uDrt6cuxL47ieAKc8yzHtnpEmSdJsRwWzuW5Mk6fO-M_
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的RequestDispatcher提供两个方法:forward,include有什么区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js eventLoop
- 下一篇: 创建线程时,需要创建的内容