constructor(构造)方法-init(初始化)方法-doget/dopost方法-service方法-destory(销毁)方法
servlet销毁的时候,就会执行该方法
1.该项目从tomcat的里面移除。
2.正常关闭tomcat就会执行shutdown.bat
doget和dopost不算生命周期方法,所谓的生命周期是指,从对象的创建到销毁一定会执行的方法,但是这两个方法不一定会执行
package com.nice.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "LifeCircleServlet")
public class LifeCircleServlet extends HttpServlet {
public LifeCircleServlet() {
System.out.println("进入构造方法");
}
/**
* 只要接收到客户端的请求,那么就执行这个方法
* 该方法可以执行很多次,一次请求对应一次Service方法的调用
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.service(req, resp);
}
@Override
public void destroy() {
super.destroy();
System.out.println("进入销毁方法");
}
@Override
public void init() throws ServletException {
//init方法只会执行一次
//默认情况下是初次访问该servlet,才会创建实例
super.init();
System.out.println("进入初始化方法");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("进入doPost请求方法");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("进入doGet请求方法");
}
}
<servlet>
<servlet-name>LifeCircleServlet</servlet-name>
<servlet-class>com.nice.servlet.LifeCircleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LifeCircleServlet</servlet-name>
<url-pattern>/LifeCircleServlet</url-pattern>
</servlet-mapping>
浏览器输入:http://localhost:8080/nice_servlet_war_exploded/LifeCircleServlet
结果为:
进入构造方法
进入初始化方法
进入doGet请求方法
点击右上角的stop
打印:
进入销毁方法