Servlet接口为所有servlet提供常见的行为。 GenericServlet类实现了Servlet,ServletConfig和Serializable接口。它提供除了service方法之外,还实现了这些接口的所有方法。 GenericServlet类可以处理任何类型的请求,因此它与协议无关。 可以通过继承GenericServlet类并提供服务方法的实现来创建通用的servlet。 GenericServlet类的方法GenericServlet类中有很多方法。它们分别如下:

序号 方法 描述

1 public void init(ServletConfig config) 用于初始化servlet

2 public abstract void service(ServletRequest request, ServletResponse response) 为传入请求提供服务,每当用户请求一个servlet时调用它。

3 public void destroy() 在整个生命周期中仅调用一次,以表明servlet正在被销毁。

4 public ServletConfig getServletConfig() 返回ServletConfig对象

5 public String getServletInfo() 返回有关servlet的信息,如作者,版权,版本等。

6 public void init() 这是servlet程序员的一个方便的方法,现在不需要调用super.init(config)

7 public ServletContext getServletContext() 返回ServletContext的对象。

8 public String getInitParameter(String name) 返回给定参数名称的参数值。

9 public Enumeration getInitParameterNames() 返回web.xml文件中定义的所有参数。

10 public String getServletName() 返回servlet对象的名称。

11 public void log(String msg) 在servlet日志文件中写入给定的消息。

12 public void log(String msg,Throwable t) 将说明性消息写入servlet日志文件和堆栈跟踪。

通过继承GenericServlet类的Servlet示例下面是一个通过继承GenericServlet类的servlet简单例子。 打开Eclipse,创建一个动态网站项目(Dynamic Web Project):genericservlet,如下 -

MyServlet.java的代码如下所示 - package com.yiibai;

import java.io.; import javax.servlet.;

public class MyServlet extends GenericServlet { public void service(ServletRequest req, ServletResponse res) throws IOException, ServletException {

    res.setContentType("text/html");

    PrintWriter out = res.getWriter();
    out.print("<html><body>");
    out.print("<div style=\"text-align:center;\"><h2>hello generic servlet</h2></div>");
    out.print("</body></html>");