Servlet的生命周期

时间:2022-04-10 10:13:54

Servlet的生命周期


1.1.1Servlet的生命周期概述
1.1.1.1什么是生命周期

生命周期:一个对象从创建到销毁过程。



1.1.1.2Servlet的生命周期(*****)
Servlet生命周期:Servlet对象从创建到销毁的过程。
Servlet何时被创建又是何时被销毁的?
Servlet中有init,service,destroy方法,这几个方法称为是Servlet生命周期相关的方法。

Servlet是在第一次被访问的时候会被实例化,只要Servlet一被实例化那么Servlet中的init方法就会执行(init只会执行一次)。任何一次从客户端发送来的请求,那么Servlet中的service方法就会执行(在service方法的内部根据请求的方式不同调用不同doXXX方法)。当Servlet从服务器中移除或者服务器关闭的时候Servlet对象被销毁,里面的destroy方法就会执行,然后垃圾回收就会将其回收掉。



1.1.1.3代码演示Servlet的生命周期

/*
* Servlet:运行在服务端的小程序
*
*Servlet的生命周期
*/
public class ServletDemo01 implements Servlet {


@Override
/**
* Servlet对象被实例化的时候init方法就会被执行,而且只执行一次.(说明Servlet是单例的)
*/
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("我被初始化了");
}


@Override
/**
* service方法:任何一次请求都会执行service方法,只要有请求就会执行多次
*/
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("我被调用了");
arg1.getWriter().println("hello servlet");
}


@Override
/**
* Servlet从服务器中删除时或者服务器关闭的时候Servlet.执行一次
*/
public void destroy() {
// TODO Auto-generated method stub
System.out.println("我被销毁了");
}


//以上三个方法体现了servlet的生命周期








@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}

@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}



}