为什么GenericServlet既实现了ServletConfig接口,又包括了一个ServletConfig的实例?

任意一种方法都可以直接调用ServletConfig的方法,为什么两种方法都使用了?

public abstract class GenericServlet 
    implements Servlet, ServletConfig, java.io.Serializable
{

    private transient ServletConfig config;
    
    ... ...
}
阅读 2.7k
1 个回答

GenericServlet 是一个抽象类,有一个ServletConfig config的属性,如果GenericServlet 不实现ServletConfig 接口,是不是要把ServletConfig 中定义的方法还要声明一下呀,这样才可以让子类去实现。
如:

abstract class GenericServlet {
    //如果GenericServlet 实现 ServletConfig 就不需要写这些方法了。
    public String getInitParameter(String name);
    public ServletContext getServletContext();
    .....
}

那为何不直接让GenericServlet 实现 ServletConfig 接口,在GenericServlet 方法就不要在声明一下。
你自己写的servlet如果想要获取ServletConfig中的值,你自己实现一些其中的方法就可以了。
不知道这样讲你能不能明白。如果不可以,你可以直接取看看源代码,相信你就明白了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进