Servlet的生命周期

大家好,欢迎来到雄雄的小课堂,今天给大家分享的是“Servlet的生命周期”

什么是Servlet的生命周期?

所谓生命周期,指的就是Servlet从被定义,到执行使用,再到毁灭的整个过程。

Servlet的生命周期分为哪几部分?

  1. Servlet初始化后调用init()方法。
  2. Servlet 调用 service() 方法来处理客户端的请求。
  3. Servlet 销毁前调用 destroy() 方法。

接下来我们来详细看看各个生命周期的方法:

Init()方法:
Init方法只要创建了,只调用一次,后续将不再调用,代码如下:

public void init() throws ServletException {
    System.out.println("执行Init方法初始化");
    super.init();
  }

service() 方法
service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。

每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。代码如下:

@Override
  protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
      throws ServletException, IOException {
    System.out.println("进入service方法");
    super.service(arg0, arg1);
  }

doGet() 和 doPost() 方法是每次服务请求中最常用的方法。下面是这两种方法的特征。

doGet() 方法
GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。

public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    System.out.println("进入doget方法");
  }

doPost() 方法
POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。

public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    
  }

destroy() 方法
destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

在调用 destroy() 方法之后,servlet 对象被标记为垃圾回收。destroy 方法定义如下所示:

@Override
  public void destroy() {
    System.out.println("进入destroy方法");
    super.destroy();
  }

今天的分享就这些,最后欢迎关注公众号小雄雄的小课堂

posted @ 2020-11-27 15:47  穆雄雄  阅读(45)  评论(0编辑  收藏  举报