Servlet的生命周期
大家好,欢迎来到雄雄的小课堂,今天给大家分享的是“Servlet的生命周期”
什么是Servlet的生命周期?
所谓生命周期,指的就是Servlet从被定义,到执行使用,再到毁灭的整个过程。
Servlet的生命周期分为哪几部分?
- Servlet初始化后调用init()方法。
- Servlet 调用 service() 方法来处理客户端的请求。
- Servlet 销毁前调用 destroy() 方法。
接下来我们来详细看看各个生命周期的方法:
Init()方法:
Init方法只要创建了,只调用一次,后续将不再调用,代码如下:
public void init() throws ServletException {
System.out.println("执行Init方法初始化");
super.init();
}
service() 方法
service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。
每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。代码如下:
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
System.out.println("进入service方法");
super.service(arg0, arg1);
}
doGet() 和 doPost() 方法是每次服务请求中最常用的方法。下面是这两种方法的特征。
doGet() 方法
GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("进入doget方法");
}
doPost() 方法
POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
destroy() 方法
destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。
在调用 destroy() 方法之后,servlet 对象被标记为垃圾回收。destroy 方法定义如下所示:
@Override
public void destroy() {
System.out.println("进入destroy方法");
super.destroy();
}
今天的分享就这些,最后欢迎关注公众号小雄雄的小课堂