Javaweb学习笔记之HttpServlet(二):Servlet的生命周期

package com.demo.d_life;

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 的生命周期:
 * 	servlet 类什么时候被创建,什么时候调用什么方法,什么时候销毁;
 * 
 * 普通类对象由我们自己使用 new 关键字创建,而 Servlet 的生命周期由 tomcat 服务器控制。
 */

@WebServlet("/LifeDemo1")
@SuppressWarnings("serial")
public class LifeDemo1 extends HttpServlet {

	/*
	 * 1、构造方法:创建 Servlet 对象的时候调用。默认情况下,第一次访问 servlet 的时候创建 servlet 对象;
	 * 	只调用一次,说明 servlet 对象在 tomcat 服务器中是单实例的。
	 */
	public LifeDemo1(){
		System.out.println("1、构造方法被调用了");
	}
	
	/*
	 * 2、init 方法:创建完 servlet 对象的时候调用;只调用一次。
	 */
	@Override
	public void init(ServletConfig config) throws ServletException {
		System.out.println("2、init 方法被调用了");
	}
	
	/*
	 * 3、service 方法:每次发出请求的时候调用;可调用多次,说明 servlet 是多线程的。
	 */
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("3、service 方法被调用了");
	}

	/*
	 * 4、destroy 方法:销毁 servlet 对象的时候调用。
	 * 	停止服务器,或者重新部署 web 应用时销毁 servlet 对象。只调用一次。
	 */
	@Override
	public void destroy() {
		System.out.println("4、destroy 方法被调用了");
	}

}

 

你可能感兴趣的:(javaweb学习笔记)