init (ServletConfig )方法是用来初始化Servlet的,而无参数的init()方法是在init (ServletConfig)方法调用后,Servlet容器才调用无参数init。这样Servlet的初始化就完成了。参数SerletConfig对象包含了在Web.应用程序的部署描述文件中指定的初始化参数。
在Servlet的GenericServleta类中有两个init()方法,两个方法在使用的时候要注意:第一种init()方法是Servlet接口中init()方法的实现。这种方法中,首先将ServletConfig对象保存在一个transient实例变量中,然后调用第二种不带参数的init()方法。
两者的不同定义:
void init(ServletConfig ) throws ServletException
public void init throws ServletException
通常我们在编写集成自GenericServlet的Servlet类时,只需重写第一种不带参数的init()方法就可以了。如果覆盖了第一种init()方法,那么应该在子类的该方法中,包含一句super.init(config)代码调用。