Servlet的继承关系和生命周期

1.继承关系:

javax.servlet.Servlet接口->javax.servlet.GenericServlet抽象类

->javax.servlet.http.HttpServlet抽象子类

2.相关方法:

javax.servlet.Servlet:

(1)void init(config)   -初始化方法

(2)void service(request, response) -服务方法   (这是个抽象方法,在HttpServlet中进行实现)

(3)void destroy() -销毁方法

主要说说这个service方法:它在实现时首先要有一个获取申请方式的操作:

String method = request.getMethod();

根据if判断,请求方式1不同,调用相应的do方法

而在这个HttpServlet中,do方法都差不多,需要自己去自己的servlet中改写do方法,不然未改写而贸然请求会报错

3.servlet的生命周期:

(1)servlet的生命周期对应三个方法   init() service() destroy()

(2)默认情况下,收到请求后开始实例化,初始化,并开始服务,后面只是开启服务,调用service方法;这种方式的启动速度很快,但是响应速度,特别是第一个用户的响应速度很慢,我们可以通过设置<load-on-startup>数字<load-on-startup>来设置servlet的启动先后顺序,这样设置后启动服务器时会耗时更多,因为启动即创建实例,初始化,但后续的响应速度很快,而且很公平;(其中数字越小,越先启动,0最小)

所以一个servlet类只会创建一个实例,即单例的;这种单例设计模式有弊端:线程不安全;

下面有个图:

所以我们一般不建议servlet类中定义成员变量,即使非要定义,也不要用它来做逻辑判断;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/82160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PEFT库PromptTuningConfig 配置

PEFT库 PromptTuningConfig 配置 "Prompt Tuning"的参数高效微调 PromptTuningConfig 核心参数解析 1. task_type="CAUSAL_LM" 作用:指定任务类型为因果语言模型(Causal LM)。说明:因果语言模型从左到右生成文本(如GPT系列),这与任务需求匹配(模…

【438. 找到字符串中所有字母异位词】

Leetcode算法练习 笔记记录 438. 找到字符串中所有字母异位词 438. 找到字符串中所有字母异位词 思路就是我们要找和p相同的词&#xff0c;可以先排个序&#xff0c;每次取一个和p的size长度相同的窗口去滑动&#xff0c;符合就记录&#xff0c;不符合继续滑动。 public List&l…

React Hooks底层执行逻辑详解、自定义Hooks、FiberScheduler

React Hooks底层执行逻辑详解 React Hooks 在表面上看像普通的函数调用&#xff0c;背后却隐藏着一套复杂而高效的运行时机制。要理解 React Hooks 的底层执行逻辑&#xff0c;需要从 React 如何管理组件的状态与副作用入手。 &#x1f9e0; 一、React 为什么引入 Hooks&#…

Windows命令实用工具——tcping 命令工具安装及基础使用

Windows命令实用工具——tcping 命令工具安装及使用 一、tcping 命令简介二、tcping 的安装1、tcping 官网下载安装包2、将软件包复制到 Windws 系统的 System32 目录下面3、查看 tcping 命令是否安装成功 三、tcping 工具简单使用方法 一、tcping 命令简介 tcping 的主要功能…

智慧化工园区安全风险管控平台建设方案(Word)

1 项目概况 1.1 园区概况 1.1.1 XX化工园区简况 1.1.2 企业现状 1.1.3 园区发展方向 1.1.4 园区信息化现状 1.2 项目建设背景 1.2.1 政策背景 1.3 项目建设需求分析 1.3.1 政策需求分析 1.3.2 安全生产监管需求分析 1.3.3 应急协同管理需求分析 1.3.4 工业互联网安…

【动手学深度学习】2.3. 线性代数

目录 2.3. 线性代数1&#xff09;标量2&#xff09;向量3&#xff09;矩阵4&#xff09;张量5&#xff09;张量的基本性质6&#xff09;降维7&#xff09;点积8&#xff09;矩阵-向量积9&#xff09;矩阵-矩阵乘法10&#xff09;范数11&#xff09; 小结 2.3. 线性代数 本节将…

如何在项目当中使用redis进行范围搜索

目录 如何将地理位置数据保存到 Redis 中以支持范围查询 Redis 中的 GEO 类型是什么&#xff1f; 如何保存 GEO 数据到 Redis 分段解释&#xff1a; RedisKey.POSTS_ANIMALS_LOCATIONS new Point(longitude, latitude) 如何进行范围搜索 Redis GEO 范围搜索核心语句 1…

物联网低功耗保活协同优化方案:软硬件与WiFi网关动态联动

目录 一、总体方案概述 二、架构组成 2.1 系统拓扑 2.2 硬件端(MCU + WiFi 模组) 2.3 WiFi 网关 2.4 云端服务器 三、低功耗保活技术设计模式 3.1 模式一:定时唤醒 + MQTT 保活 3.1.1 设备端 3.1.2 优势 3.2 模式二:网关保活代理 + 本地网络唤醒 3.2.1 网关功能…

UniApp+Vue3微信小程序二维码生成、转图片、截图保存整页

二维码生成工具使用uqrcode/js&#xff0c;版本4.0.7 官网地址&#xff1a;uQRCode 中文文档&#xff08;不建议看可能会被误导&#xff09; 本项目采用了npm引入方式&#xff0c;也可通过插件市场引入&#xff0c;使用上会略有不同 准备工作&#xff1a; 安装&#xff1a;pnpm…

Zenmap代理情况下无法扫描ip

原因是开了代理会报错 error “only ethernet devices can be used for raw scans on Windows” 在扫描参数后加 -sT -Pn&#xff0c;但会导致结果太多 例如&#xff1a;nmap -sT -T4 -A -v -Pn 10.44.2.0/24 如果你只是想找没人用的IP&#xff0c;你不需要搞复杂的原始层扫描&…

将多个值关联到同一个 key的map(key可以重复的map)示例

在 Java 中&#xff0c;标准的 Map 接口要求 key 必须唯一&#xff0c;如果需要 key 可重复 且保持 插入顺序 的数据结构&#xff0c;可以使用以下方案&#xff1a; 1. 使用 List<Map.Entry<K, V>> 最直接的方式是用链表存储键值对&#xff0c;允许重复 key&…

Arthas(阿尔萨斯)

一、Arthas 是什么&#xff1f; Arthas&#xff08;阿尔萨斯&#xff09;是阿里巴巴开源的一款 Java 在线诊断工具&#xff0c;基于 Java Agent 和字节码增强技术实现。它无需重启 JVM&#xff0c;即可动态追踪代码执行、实时查看 JVM 状态、修改代码逻辑&#xff0c;是生产环…

深入解读Qwen3技术报告(三):深入剖析Qwen3模型架构

重磅推荐专栏&#xff1a; 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域&#xff0c;包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用&#xff0c;以及与之相关的人工智能生成内容&#xff…

UE4游戏查找本地角色数据的方法-SDK

UE4中&#xff0c;玩家的表示通常涉及以下几个类&#xff1a; APlayerController: 代表玩家的控制逻辑&#xff0c;处理输入等。 APawn: 代表玩家在世界中的实体&#xff08;比如一个角色、一辆车&#xff09;。APlayerController 控制一个 APawn。 ACharacter: APawn 的一个…

springboot+vue实现服装商城系统(带用户协同过滤个性化推荐算法)

今天教大家如何设计一个服装商城 , 基于目前主流的技术&#xff1a;前端vue3&#xff0c;后端springboot。 同时还带来的项目的部署教程。 系统最大的亮点是使用了两个推荐算法: 1. 基于Jaccard算法的用户浏览历史推荐。 2. 基于用户的协同过滤算法个性化推荐。 还有核心的商…

ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问

有可能是设置了代理 unset ALLPROXY 或者注释掉 当然也有可能是其他原因 权限不足​​ 以管理员身份运行 CMD/PowerShell&#xff0c;或使用 --user 安装 ​​文件被占用​​ 关闭杀毒软件或重启电脑 Python 环境损坏​​ 重新安装 Python 或使用虚拟环境 ​​ 杀毒软件阻止…

【深尚想!爱普特APT32F1023H8S6单片机重构智能电机控制新标杆】

在智能家电与健康器械市场爆发的今天&#xff0c;核心驱动技术正成为产品突围的关键。传统电机控制方案面临集成度低、开发周期长、性能瓶颈三大痛点&#xff0c;而爱普特电子带来的APT32F1023H8S6单片机无感三合一方案&#xff0c;正在掀起一场智能电机控制的技术革命。 爆款基…

一个.NET开源、轻量级的运行耗时统计库

前言 在.NET开发中&#xff0c;为了准确统计对应方法的执行时间&#xff0c;我们最常用的方式是手动使用 Stopwatch 来显式编写计时逻辑&#xff0c;但是假如你需要大量的使用 Stopwatch 来进行耗时统计的话不利于保持代码的整洁和增加代码的维护成本。 项目介绍 MethodTime…

嵌入式鸿蒙openharmony应用开发环境搭建与工程创建实现

各位小伙伴大家好,本周开始分享鸿蒙开发相关的内容,从基础的配置方法到各种功能的实现,探索国产操作系统的奥秘。 第一:观察结果 第二:开源语言 ArkTS是鸿蒙应用开发中使用的TypeScript超集,提供了一套丰富的API来构建应用界面和逻辑。 第三:环境搭建 步骤 1 通过如…

软考 组合设计模式

组合设计模式&#xff08;Composite Pattern&#xff09;是结构型设计模式之一&#xff0c;它的核心思想是将对象组合成树形结构来表示“部分-整体”的层次结构&#xff0c;使得用户对单个对象和组合对象的使用具有一致性。 主要概念&#xff1a; 组件&#xff08;Component&a…