java.Servlet.GenericServlet中的init方法

其实在父类的有参init方法中会隐式的调用无参的init的方法,仅此而已,没什么难的,初始化时永远都调用的是有参的init的方法。

在GenericServlet中,从servlet接口带来的init(ServletConfig config)对它进行重写时,如果忘了调用super.init(config)时,就会出现空指针异常,为了解决这样的
情况,GenericServlet中于是有了一个无参的init()方法,推荐大家重写init方法时,
重写无参的init()方法.
 
(第一种init()方法是Servlet接口中init()方法的实现。这种方法中,首先将ServletConfig对象保存在一个transient实例变量中,然后调用第二种不带参数的init()方法。

通常我们在编写集成自GenericServlet的Servlet类时,只需重写第一种不带参数的init()方法就可以了。如果覆盖了第一种init()方法,那么应该在子类的该方法中,包含一句super.init(config)代码调用。)
-----------------------------------------------
API:
 Servlet 中的init()方法
public void init(ServletConfig config) throws ServletException;
 
  GenericServle中的init()方法
 
   public void init(ServletConfig config) throws ServletException {
 this.config = config;
 this.init();
    }
 
     public void init() throws ServletException {
    }

你可能感兴趣的:(Java)