首页
学习
活动
专区
工具
TVP
发布

Servlet生命周期相关的方法

Servlet 容器:

Servlet 容器可以自己创建 Servlet

并且可以调用 Servlet 相关的生命周期方法

注意:普通的 Java 类实例化一个对象时,需要自己手动创建,通过对象调用方法

JSP,Filter,Listener,Tag等都在 Servlet 容器中进行

Servlet 生命周期的相关方法:

以下方法都是由 Servlet 容器负责调用

构造器:

只被调用一次;只有第一次请求 Servlet 时,创建 Servlet 的实例。调用构造器。

这说明 Servlet 是单实例的,说明就会有单线程的问题,不推荐在 Servlet 中写一个全局变量。

init()方法:

只被调用一次,在创建好 Servlet 实例后立即被调用,用于初始化当前 Servlet。

service()方法:

被多次调用,每次请求都会调用 Service 方法,实际用于响应请求。

destroy()方法:

只被调用一次,在当前 Servlet 所在 web 应用被卸载(关闭)前调用,用于释放 Servlet 所占用的资源。

架构图

下图显示了一个典型的 Servlet 生命周期方案。

第一个到达服务器的 HTTP 请求被委派到 Servlet 容器。

Servlet 容器在调用 service()方法之前加载 Servlet。

然后 Servlet 容器处理由多个线程产生的多个请求,每个线程执行一个单一的 Servlet 实例的 service() 方法。

图片来自:https://www.runoob.com/

Servlet 的生命周期中的方法,但是在使用不常用,到后边关于 GenericServlet 类会实现 Servlet 接口和 ServletConfig 接口,HttpServlet进而继承GenericServlet类,会继续说明。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200216A0MQWE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券