前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Servlet的生命周期是怎么回事?

Servlet的生命周期是怎么回事?

作者头像
马克java社区
修改2021-05-21 14:32:20
5970
修改2021-05-21 14:32:20
举报
文章被收录于专栏:java大数据

Servlet的生命周期有三个:

1.初始化时期

在启动Tomcat后,客户机首次访问Servlet时,tomcat装入和实例化Servlet,仅执行一次init()方法。无论有多少客户机访问 Servlet,都不会重复执行init()。这里通常进行一些初始化的操作,如数据库的连接。init()方法不能反复调用,一旦调用就是重装载 servlet。直到服务器调用destroy方法卸载servlet后才能再调用。

2.Servlet的执行时期

在服务器装载初始化servlet后,servlet就能够无限循环往复的处理客户端的请求。在前面的例子中,我们用doXXX方法来处理每个客户的请求,且发回相应的响应。

3.Servlet结束时期

Servlets一直运行到他们被服务器卸载。比如,在eclipse的情况下,当我们点击服务器窗口的红色按钮时,就关停Tomcat,这时 Servlet的destroy方法就会被tomcat调用。通常,大家在destroy方法里收回在init()方法中初始化的资源,如关闭数据库的连 接等。

例:4.1

package com;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ServletHello1 extends HttpServlet {

public ServletHello1() {

System.out.println("constructor");

}

public void init() throws ServletException {

System.out.println("init");

}

protected void doGet(HttpServletRequest request,

HttpServletResponse response) throws IOException {

System.out.println("doGet");

}

public void destroy() {

System.out.println("des");

FileWriter in;

try {

in = new FileWriter("c:\\initial.txt");

in.write("destroy");

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

第一次访问servlet时,输出结果如下:

更多请看:https://blog.csdn.net/qq_44594371/article/details/103155757

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档