Servlet API的核心是javax.servlet.Servlet接口,所有的Servlet类都必须实现这个接口。Servlet接口的源代码如下:
package javax.servlet;
import java.io.IOException;
public interface Servlet{
public void init(ServletConfig config) throws ServletException;
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException;
public void destroy();
public String getServletInfo();
public ServletConfig getServletConfig();
}
其中有三个方法都由Servlet容器来调用,容器会在Servlet的生命周期的不同阶段调用特定的方法。
init(ServletConfig config)方法:负责初始化Servlet对象。容器在创建好Servlet对象后,就会调用该方法。
service(ServletRequest req,ServletResponse res)方法:负责响应客户的请求,为客户提供相应服务。当容器接收到客户端要求访问特定Servlet对象的请求时,就会调用该Servlet对象的service()方法。
destroy()方法:负责释放Servlet对象占用的资源。当Servlet对象结束生命周期时,容器会调用此方法。
Servlet接口还定义了以下两个返回Servlet的相关信息的方法。JavaWeb应用中的程序代码可以访问Servlet的这两个方法,从而获得Servlet的配置信息及其他相关信息。
getServletInfo():返回一个字符串,在该字符串中包含了Servlet的创建者、版本和版权等信息。
getServletConfig():返回一个ServletConfig对象,在该对象中包含了Servlet的初始化参数信息。