Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:
- Servlet 通过调用 init () 方法进行初始化。
- Servlet 调用 service() 方法来处理客户端的请求。
- Servlet 通过调用 destroy() 方法终止(结束)。
- 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
现在让我们详细讨论生命周期的方法。
原理性证明:代码实践
方便起见,只添加控制台打印,方便观察
测试代码:
package my;
import java.io.IOException;
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 org.json.JSONObject;
@WebServlet(name="Example1",urlPatterns="/exa",loadOnStartup=1)
public class Example1 extends HttpServlet
{
public Example1()
{
System.out.println("启动了服务 : " + "Servlet-Example1");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("访问了服务 : " + "Servlet-Example1--------get");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("访问了服务 : " + "Servlet-Example1--------POST");
}
@Override
public void destroy()
{
System.out.println("Servlet关闭前的处理......");
}
@Override
public void init() throws ServletException
{
System.out.println("Servlet初始化......");
}
}
观察控制台的输出:
1、当Servlet实例被创建时,执行init()方法
2、执行service
3、停止服务:
可知:
默认情况下:Servlet在第一次访问时被创建,在应用退出时被销毁;