我是靠谱客的博主 健忘蓝天,这篇文章主要介绍Java Servlet的生命周期,现在分享给大家,希望可以做个参考。

Servlet的生命周期分为四个部分:

一、创建Servlet实列对象(实例化)

在有一个请求请求当前Servlet时,如果该Servlet的实列对象不存在,则通过调用构方法,创建该Servlet的实列对象

二、初始化

通过第一步创建的实列对象,调用父类的init()方法,执行初始化的逻辑,我们也可重写父类的init()方法来实现我们自己的逻辑

三、服务


通过实例调用HttpServlet父类的service()方法
service()方法中,会根据请求的方式(get或post)的不同
调用子类重写的doGet()或doPost()方法
如果子类没有重写,则响应405

四、销毁

1.服务器重启

2.服务器关闭

3.超出过期时间

以上都会调用Servlet实例的destroy()方法,使当前的Servlet销毁。

例:HomeSevlet

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.wzb.web.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HomeServlet extends HttpServlet { // 1.实列化 public HomeServlet() { System.out.println("1.HomeServlet实例化"); } // 2.初始化 // 重写HttpServlet父类的init()方法 @Override public void init() throws ServletException { System.out.println("2.HomeServlet初始化"); } // 3.服务 // 通过实例调用HttpServlet父类的service()方法 // service()方法中,会根据请求的方式(get或post)的不同 // 调用子类重写的doGet()或doPost()方法 // 如果子类没有重写,则响应405 // 根据请求方式的不同,需要调用不同的请求方法 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("HomeServlet被请求到!"); } // 4.销毁 @Override public void destroy() { System.out.println("4.HomeServlet实例被销毁"); } }

会依次输出:

1.HomeServlet实列化

2.HomeServlet初始化

4.HomeServlet实例被销毁

最后

以上就是健忘蓝天最近收集整理的关于Java Servlet的生命周期的全部内容,更多相关Java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部