Java 哪个类为RequestDispatcher forward()和include()方法提供实现

Java 哪个类为RequestDispatcher forward()和include()方法提供实现,java,jakarta-ee,requestdispatcher,Java,Jakarta Ee,Requestdispatcher,RequestDispatcher对象是否退出,因为它是一个接口,我知道我们无法创建对象到接口。 那么下面的代码中发生了什么呢 RequestDispatcher requestDispatcher = request.getRequestDispatcher('somePage'); 我们正在为RequestDispatcher或实现RequestDispatcher的子类创建对象 提前感谢。RequestDispatcher是一个接口,我们不能用它创建对象。因此,它是实现Request

RequestDispatcher对象是否退出,因为它是一个接口,我知道我们无法创建对象到接口。 那么下面的代码中发生了什么呢

RequestDispatcher requestDispatcher = request.getRequestDispatcher('somePage');  
我们正在为RequestDispatcher或实现RequestDispatcher的子类创建对象


提前感谢。

RequestDispatcher是一个接口,我们不能用它创建对象。因此,它是实现RequestDispatcher的类的一个对象,您在调用getRequestDispatcher()时会得到它


您需要有Servlet实现的源代码(这取决于您使用的容器)才能查看提供实现的类

您是对的,
RequestDispatcher
是一个接口,您无法创建此接口的对象

现在请看:

request.getRequestDispatcher('somePage')此方法返回一个实现RequestDispatcher的类,该类完全取决于您使用的服务器。

对于例如,对于GlassFish server,它返回
org.apache.catalina.core.ApplicationDispatcher
对象,并且已经由@Pshemo告知。

要回答标题中的问题:它最可能取决于容器。在Glassfish 4.0上,如果您打印
request.getRequestDispatcher(“someResource”).getClass()的结果,您将看到
org.apache.catalina.core.ApplicationDispatcher