Servlet生命周期

Servlet生命周期可分为四个阶段:实例化,初始化,处理请求,销毁。

第一次访问Servlet时会调用这几个方法!
image.png

之后每次访问都会调用service()方法
服务器关闭会调用destroy()方法

package com.neusoft.controller;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
//@WebServlet(name="HelloServlet",
//          urlPatterns= {"Test20190512/HelloServlet"},
//          displayName="HelloServlet",
//          loadOnStartup=0,
//          description="这是学习测试的Servlet")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public HelloServlet() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @see Servlet#init(ServletConfig)
     */
    public void init(ServletConfig config) throws ServletException {
        // TODO Auto-generated method stub
        System.out.println("初始化时,init()被调用!");
        //获得servlet名称
        System.out.println(config.getServletName());
        //ServletConfig 可以获得ServletContext/application 作用域。
        //ServletContext是随着服务器的开启 而存在,随服务关闭而停止的 生命周期最长的域
        System.out.println(config.getServletContext());
        config.getServletContext().setAttribute("url","jdbc://localhost:3306/mysql");
    }

    /**
     * @see Servlet#destroy()
     */
    public void destroy() {
        // TODO Auto-generated method stub
    }

    /**
     * @see Servlet#getServletConfig()
     */
    public ServletConfig getServletConfig() {
        // TODO Auto-generated method stub
        return null;
    }

    /**
     * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
     */
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("Hello service!方法");
        System.out.println(request.getServletContext().getAttribute("url"));
    }

}

你可能感兴趣的:(Servlet生命周期)