您的位置:首页 > 其它

servlet的生命周期

2015-05-15 23:31 351 查看
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{

@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("servlet is processing");
}

@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("sesrvlet destroy");
}

@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
System.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成功被销毁。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: