0
点赞
收藏
分享

微信扫一扫

Javaweb —— Servlet 生命周期


Servlet 生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

  • Servlet 初始化后调用 init () 方法
  • Servlet 调用 service() 方法来处理客户端的请求
  • Servlet 销毁前调用 destroy() 方法
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的


Servlet生命周期(四阶段)

Javaweb —— Servlet 生命周期_tomcat

  • 实例化

用户第一次访问Servlet是,由容器调用Servlet的构造器创建具体的Servlet对象,也可以启动容器后立刻创建实例,使用如下代码可以设置Servlet是否在服务器启动时就创建

  • 只执行一次
  • 初始化

初始化阶段,init()方法会被调用,这个方法在javax.servlet.Servlet接口中定义,其中,方法以一个ServletConfig类型的对象作为参数

  • init方法只被执行一次
  • 服务

客户端有一个请求时,容器会将请求ServletRequest与响应ServletRequest对象转给Servlet,以参数的形式传给service方法

  • 此方法会执行多次
  • 销毁

Servlet容器(Tomcat)停止或者重新启动(Tomcat)都会引起销毁Servlet对象并调用destroy方法

  • destroy方法执行一次

实例:

package com.woniu.servlet2;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet(value = "/ls")
public class LifeServlet implements Servlet {

    public LifeServlet(){
        System.out.println("1.实例化");
    }

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("2.初始化");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("3.提供服务,接受请求,响应结果");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("4.销毁");
    }
}
• 重启或停止Tomcat即会输出销毁

Javaweb —— Servlet 生命周期_ide_02


举报

相关推荐

0 条评论