Servlet 接口
Servlet技术的核心是Servlet,它是所有Servlet类必须直接或者间接实现的一个接口。在编写实现Servlet的Servlet类时,直接实现它。在扩展实现这个这个接口的类时,间接实现它。
public interface Servlet {
void init(ServletConfig var1) throws ServletException;
ServletConfig getServletConfig();
void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
String getServletInfo();
void destroy();
}
init,service,destory 三个方法是 Servlet 生命周期的方法,getServletInfo 方法会返回Servlet的一段字符串描述,getServletConfig 方法用来获取 Servlet 容器传给 init 方法 ServletConfig 对象。
Servlet 的生命周期
init(),service(),destroy() 是 Servlet 生命周期的方法,代表了 Servlet 从创建到销毁的一段时间 。init方法和destroy方法只会执行一次,service方法客户端每次请求Servlet都会执行。Servlet中有时会用到一些需要初始化与销毁的资源,因此可以把初始化资源的代码放入init方法中,销毁资源的代码放入destroy方法中,这样就不需要每次处理客户端的请求都要初始化与销毁资源。
init() :
当 Servlet 第一次被请求时,Servlet 容器就会开始调用这个方法来初始化一个 Servlet 对象出来,但是这个方法在后续请求中不会在被 Servlet 容器调用。我们可以利用 init() 方法来执行相应的初始化工作。调用这个方法时,Servlet 容器会传入一个 ServletConfig 对象进来从而对 Servlet 对象进行初始化。
service() :
每当客户端来了一个请求时,Servlet 容器就会调用这个方法。第一次请求时,Servlet 容器会先调用 init() 方法初始化一个 Servlet 对象出来,然后会调用它的 service() 方法进行工作,但在后续的请求中,Servlet 容器只会调用 service() 方法了。
destory() :
当要销毁Servlet时,Servlet容器就会调用这个方法。在卸载应用程序或者关闭 Servlet 容器时,就会发生这种情况,一般在这个方法中会写一些清除代码。