前言
我认为讲的很详细的对RequestDispatcher的解释,记录一下。
转自:https://www.jianshu.com/p/35d9e05d5989 (翻译)
英文原博:https://www.javatpoint.com/requestdispatcher-in-servlet
下面是简单总结:
请求调度器 接口 提供调度request到另一个资源(servlet/jsp/html)的功能。
该接口也可以用incloude方法包含另一个资源(servlet/jsp/html)的内容。它是servlet协作的一种方式。
在RequestDispatcher接口中定义了两种方法: forward和include
forward
如下图所示,servlet2的response发送给客户端。而servlet1的response不会显示给用户。

ServletRequest接口的getRequestDispatcher()方法返回RequestDispatcher的对象。句法:
public RequestDispatcher getRequestDispatcher(String resource);
例子:
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/sessionLoginDemo/login.jsp");//得到转发器
requestDispatcher.forward(request, response);//转发(调度)请求给/sessionLoginDemo/login.jsp 并由login.jsp发送response给客户端。
include
如下图所示,servlet2的response包含在(正在发送给客户端的)servlet1的response包中。
