servlet是jsp的基础,servlet由支持servlet的服务器:servlet引擎,负责管理运行。当多个客户请求一个servlet时,引擎为每个客户启动一个线程,这些线程由servlet引擎服务来管理。
servlet的生命周期主要有三个过程组成:(1)初始化servlet。调用init()方法完成初始化工作。(2)调用service()方法响应客户的请求。(3)当服务器关闭时调用destroy()方法消灭servlet对象。
init()方法只被调用一次,即在servlet第一次被请求加载时调用该方法。当后续的客户请求servlet服务时,web服务将启动一个新的线程,在该线程中servlet调用service()方法响应客户的请求。
init()方法是HttpServlet类中的方法,我们可以在servlet类中重写该方法方法描述:public void init(ServletConfig config) throws ServletException servlet第一次请求加载时,服务器初始化一个servlet,即创建一个servlet对象,这个对象调用init()方法完成必要的初始化工作。servlet引擎会把一个ServletConfig对象传递给init()方法,这个对象保存在servlet中,直到servlet对象被消灭,这个ServletConfig对象负责传递服务设置信息,如果传递失败,就会抛出ServletException异常,servlet停止工作。
service()方法是HttpServlet类中的方法,我们可以直接继承或重写该方法。方法描述:public void service(HttpServletRequest request HttpServletResponse response) throws ServletException,IOException 当servlet创建和初始化成功之后,servlet就调用service()方法来处理客户的请求并返回响应。
destroy()方法一般不需要重写,当servlet引擎终止服务时,比如关闭服务器等,destroy()方法就会执行,消灭servlet对象。