Servlet的生命周期

2019-02-22  本文已影响0人  汤姆上校呼叫

Servlet的生命周期:

(1)加载和实例化

当Servlet容器启动或客户端发送一个请求时,Servlet容器会查找内存中是否存在该Servlet实例,若存在,则直接读取该实例响应请求;如果不存在,就创建一个Servlet实例。

(2) 初始化

实例化后,Servlet容器将调用Servlet的init()方法进行初始化(一些准备工作或资源预加载工作)。

(3)服务

初始化后,Servlet处于能响应请求的就绪状态。当接收到客户端请求时,调用service()的方法处理客户端请求,HttpServlet的service()方法会根据不同的请求 转调不同的doXxx()方法。

(4)销毁

当Servlet容器关闭时,Servlet实例也随时销毁。其间,Servlet容器会调用Servlet 的destroy()方法去判断该Servlet是否应当被释放(或回收资源)

* 1、从第一次调用到服务器关闭。

* 2、如果Servlet在web.xml中配置了load-on-startup,生命周期为

从服务器启动到服务器关闭

* 注意:

* init方法是对Servlet进行初始化的一个方法,会在Servlet第一次加载进行存储时执行

* destory方法是在servlet被销毁时执行,也就服务器关闭时。

public class ServletLife extends HttpServlet {

//初始化方法,在servlet第一次加载内容的时候被调用

@Override

public void init() throws ServletException {

System.out.println("servlet初始化完成");

}

//service方法,真正处理请求的方法

@Override

protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException, IOException {

resp.getWriter().write("servlet life");

System.out.println("servlet life");

}

@Override

public void destroy() {

System.out.println("我被销毁了...");

}

Servlet生命周期详解 - 奋斗人生 - 开源中国

上一篇下一篇

猜你喜欢

热点阅读