Servlet生命周期

Servlet的生命周期相关的方法有init(),service(),destroy()

init()方法在实例化Servlet时执行,在整个生命周期中仅执行一次

service()方法是客户端每次请求Servlet都会运行.

destroy()方法是当服务器关闭时或项目被移除时执行,在整个生命周期中仅执行一次

代码演示:

package com.itheima.action;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class ServletDemo12 implements Servlet {

    @Override
    /**
     * Servlet对象实例化的时候init方法就会执行,而且值执行一次.(Servlet是单例的)
     */
    public void init(ServletConfig config) throws ServletException {

        System.out.println("init方法被执行了...");
        
    }
    
    @Override
    /**
     * service方法:任何一次请求都会执行service方法,可以执行多次
     */
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("service方法被执行了...");
    }

    @Override
    /**
     * Servlet从服务器中移除或服务器关闭的时候销毁Servlet实例,执行一次
     */
    public void destroy() {
        System.out.println("ServletDemo12被销毁了...");
    }
    @Override
    public ServletConfig getServletConfig() {
        // TODO Auto-generated method stub
        return null;
    }


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


}

 web.xml的相关配置(不相关的配置忽略):

  <servlet>
      <servlet-name>ServletDemo12</servlet-name>
      <servlet-class>com.itheima.action.ServletDemo12</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>ServletDemo12</servlet-name>
      <url-pattern>/ServletDemo12</url-pattern>
  </servlet-mapping>
原文地址:https://www.cnblogs.com/datapool/p/6829483.html