在源码中,getServletContext()方法的代码如下:
public ServletContext getServletContext() {
return getServletConfig().getServletContext();
}
那么,其中getServletConfig()是得到ServletConfig,但是ServletConfig是一个接口,且其中并没有ServletContext啊,就算是ServletConfig的实现类GenericServlet中,也没有ServletContext啊,那这个ServletContext是怎么取出来的呢?请问是不是inti(ServletConfig config)方法接收到的传自Tomcat服务器的那个config其实是一个特殊的实现类?
Sevlet是Java EE中的一套标准,也就是一套接口,具体的实现是由各个厂商来实现,例如Tomcat、Jetty、Resin等。类似的比如JDBC也是,具体实现由各个数据库厂商的驱动来实现。