servlet生命周期可以分为四个阶段:
1.实例化(servlet 容器创建 servlet 实例);
2.初始化(该容器调用 init() 方法);
3.请求处理(如果请求 servlet ,则容器调用 service() 方法);
4.服务终止(销毁实例之前调用 destory() 方法)。
完整的生命周期如下:
浏览器发起HTTP请求到servlet容器,容器对请求进行解析,容器创建servlet实例,调用init()方法,调用service()方法,servlet输出响应信息返回给容器,容器响应浏览器,最后容器调用destory()方法将servlet实例销毁。
- init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。
- service():它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。
- destroy(): 仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。
方法说明借鉴:http://www.cnblogs.com/xuekyo/archive/2013/02/24/2924072.html