Servlet的生命周期主要由3个过程组成。
(1)init()方法:服务器初始化servlet。
(2)service()方法:初始化完毕,servlet对象调用该方法响应客户的请求。
(3)destroy()方法:调用该方法消灭servlet对象。
其中,init()方法只在servlet第一次被请求加载的时候被调用一次,当有客户再请求servlet服务时,web服务器将启动一个新的线程,在该线程中,调用service方法响应客户的请求。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。