RequestDispatcher 对象是否因为它是一个接口而退出,并且我知道我们不能创建一个对象来接口。那么下面的代码中发生了什么
RequestDispatcher requestDispatcher = request.getRequestDispatcher('somePage');
我们是在为 RequestDispatcher 创建对象还是为实现 RequestDispatcher 的子类创建对象。
提前致谢。
RequestDispatcher 对象是否因为它是一个接口而退出,并且我知道我们不能创建一个对象来接口。那么下面的代码中发生了什么
RequestDispatcher requestDispatcher = request.getRequestDispatcher('somePage');
我们是在为 RequestDispatcher 创建对象还是为实现 RequestDispatcher 的子类创建对象。
提前致谢。
你是对的,RequestDispatcher
是一个接口你我们不能创建这个对象。
现在看:
request.getRequestDispatcher('somePage');
此方法返回一个实现 RequestDispatcher 的类,该类完全取决于您使用的服务器。对于前。在 Glass Fish 服务器的情况下,它返回org.apache.catalina.core.ApplicationDispatcher
对象并且它已经由 @Pshemo 告知。
RequestDispatcher 是一个接口,我们显然不能用它创建一个对象。因此,它是实现 RequestDispatcher 的类的对象,您在调用 getRequestDispatcher() 时获得。
您需要拥有 Servlet 实现的源代码(这取决于您使用的容器)才能查看提供实现的类。