论坛首页 Java企业应用论坛

Servlet中的两个init()方法

浏览 3769 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-30   最后修改:2009-07-30

在Servlet的GenericServleta类中有两个init()方法,两个方法在使用的时候要注意:

如果我们直接通过实现Servlet接口来编写一个Servlet类,就需要实现 Servlet接口中定义的5中方法,为了简化Servlet的编写,在javax.servlet包中,给我们提供了一个抽象的类 GenericServlet,它提供了除service()方法外的其他4种方法的简单实现。GenericServlet类定义了一个通用的、不依赖于具体协议的Servlet,它实现了Servlet接口和ServletConfig接口。

如果我们要编写一个通用的Servlet,只需要从GenericServlet类继承,并实现其中的抽象方法service()。

GenericServlet类中,提供了两种重载的init()方法:


·public void init(ServletConfig config)throws ServletException


·public void init()throws ServletException


第一种init()方法是Servlet接口中init()方法的实现。这种方法中,首先将ServletConfig对象保存在一个transient实例变量中,然后调用第二种不带参数的init()方法。


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

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics