Servlet的生命周期包括初始化、服务和销毁三个阶段。
1. 初始化阶段(Initialization)
- 当Servlet
第一次被请求
时,容器会创建Servlet实例并调用其init()
方法进行初始化。 - 可以在init()方法中进行一些初始化操作,如加载配置文件、建立数据库连接等。
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet extends HttpServlet {
public void init() throws ServletException {
// 初始化操作
System.out.println("Servlet初始化");
}
}
2. 服务阶段(Service)
- 在Servlet初始化后,每次接收到请求时,容器会调用Servlet的
service()
方法来处理请求。 - service()方法根据请求类型(GET、POST等)调用对应的
doGet()、doPost()
等方法来处理请求。
public class MyServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// 处理GET请求
System.out.println("处理GET请求");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
// 处理POST请求
System.out.println("处理POST请求");
}
}
3. 销毁阶段(Destruction)
- 当容器关闭或者Servlet被移除时,容器会调用Servlet的
destroy()
方法进行销毁操作。 - 可以在destroy()方法中进行一些清理操作,如关闭数据库连接、释放资源等。
public class MyServlet extends HttpServlet {
public void destroy() {
// 销毁操作
System.out.println("Servlet销毁");
}
}