servlet的生命周期

来源:互联网 发布:淘宝免单网 编辑:程序博客网 时间:2024/06/08 13:16

servlet的生命周期相信大家在书上都有介绍,我就不再抄录书上的内容了,下面我用写程序的方式让大家理解一下servlet的生命周期。

myeclipse中,在代码编辑区右键出现的菜单中有很多快捷工具,override/implements methods选项能够显示该类和所继承的父类、根父类的方法。



任何类都继承Object类,HttpServlet继承GenericServlet,在GenericServlet中,实现了servlet初始化和销毁的方法。

package org.csu.coderlee.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServlet;public class ServletLife extends HttpServlet{@Overridepublic void service(ServletRequest request, ServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubSystem.out.println("servlet is processing");}@Overridepublic void destroy() {// TODO Auto-generated method stubSystem.out.println("sesrvlet destroy");}@Overridepublic void init() throws ServletException {// TODO Auto-generated method stubSystem.out.println("servlet inits");}}

在上述类中,覆盖了GenericServlet的init()和destroy()两个方法,这样在打开tomcat服务器,浏览器中请求该servlet的时候,首先会调用init方法初始化servlet,然后调用service方法,实现该servlet的功能,在我们关闭tomcat服务器的时候,destroy方法会被调用销毁该servlet。

首先会打印 servlet init,接下来会打印servlet is processing,在浏览器再次输出该servlet请求的时候,会输出seevlet is processing,而不会再次出现servlet init,这里就提现出这样的一个知识,servlet只有第一次被请求的时候才会被初始化,接下来无论你多少次请求,该servlet都不会被初始化。

接下来我们关闭tomcat服务器,在console窗口中会出现servlet destroy,该servlet成功被销毁。

0 0