这个抽象类实现了Servlet和ServletConfig接口。定义了一个通用的独立于协议的servlet。如果要是写一个用于Web的HTTP servlet那么应该继承HttpServelt抽象类。GenericServlet类简化了servlet的开发,它对Servlet和ServletConfig接口提供了简单的实现,也实现了ServletContext接口中声明的log方法。
这个类里面有两个init方法,一个有参数一个无参数,有参数的那个是对Servlet接口中的方法的实现,无参的是为了方便开发用的,开发人员可以重写这个方法,这样的话就不用调用super.init(config)了。GenericServlet的实现如下
void init(ServletConfig config){
transient = config;
init();
}
做个小练习
@WebServlet(name = "NewServletchl", urlPatterns = {"/NewServlet"},
initParams = {@WebInitParam(name = "haha", value = "initial parameter")})
public class NewServlet extends GenericServlet {
@Override
public void init() throws ServletException {
System.out.println("我被初始化了");
}
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("我被访问了");
System.out.println(this.getServletConfig().getServletName());
System.out.println(getServletConfig().getInitParameter("haha"));
}
@Override
public void destroy() {
System.out.println("我被销毁了...");
}
}
输出如下