关于j2ee API中接口ServletContext的疑问

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:37:03
我的一个类继承自HttpServlet。其中的一个方法是
getServletContext().getRequestDispatcher(url).forward(request, response);

我理解抽象类HttpServlet中的具体方法getServletContext()方法是继承自抽象类GenericServlet,而抽象类GenericServlet实现了接口ServletConfig,这个方法:getServletContext()最终是在ServletConfig接口中定义的。

我的问题是,方法getServletContext()返回的是一个ServletContext接口,这个接口里有很多方法,包括getRequestDispatcher(),但在API里没有看到任何类实现了这个接口。那么在这段代码:getServletContext().getRequestDispatcher(url).forward(request, response);中,是怎么回事?到底是谁实现了这个方法?接口中的方法体如果没有被实现的话是不可能使用的。恳求解答。

接口ServletContext在API中的地址如下:
http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletContext.html

Java EE里面大部分都是接口,实现由容器实现,比如tomcat,resin,weblogic等,和JDBC的原理是一样的

这正如楼上所说,你可以下载tomcat的源码,你就可以看到具体的接口实现了

sfsd