news 2026/4/26 0:41:19

Servlet 进阶!生命周期+3种创建方式+前后台传参,一篇吃透

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Servlet 进阶!生命周期+3种创建方式+前后台传参,一篇吃透

各位小伙伴👨💻!上一篇我们搞定了 Servlet 入门,今天直接进阶——聊聊 Servlet 的“一生”(生命周期)、3 种创建方式的优劣,还有前后台怎么传参。这些都是面试高频考点,也是实际开发中天天用的知识点,必须吃透!

一、Servlet 的“一生”:生命周期(听懂=拿分)

Servlet 的生命周期由 Tomcat 全程掌控,核心就 4 个节点,记口诀“构-init-服务-销毁,构init销毁各一次,服务次次都调用”:

方法/阶段

调用时机

作用

调用次数

构造方法

第一次请求 Servlet 时

Tomcat 反射创建 Servlet 实例

仅 1 次

init()

实例创建后立刻调用

初始化资源(如加载配置、连接数据库)

仅 1 次

service()

每次请求 Servlet 时

处理核心业务逻辑(接收参数、返回结果)

每次请求都调用

destroy()

关闭 Tomcat 时

释放资源(如关闭数据库连接、清理缓存)

仅 1 次

👉 举个栗子:就像开奶茶店——构造方法是“开店装修”(只装一次),init() 是“准备原料”(只备一次),service() 是“给每位顾客做奶茶”(来一个做一个),destroy() 是“关店清理”(只清一次)。

二、Servlet 的 3 种创建方式:选对少写 80% 代码

创建 Servlet 有 3 种方式,各有优劣,实际开发优先选第 3 种!

1. 方式 1:实现 Servlet 接口(入门款)
  • 缺点:必须实现所有方法,代码冗余;

  • 适用场景:新手理解原理,实际开发几乎不用。

2. 方式 2:继承 GenericServlet 抽象类(进阶款)

GenericServlet已经实现了Servlet接口的大部分方法,只需重写核心的service()

  • 优点:无需实现所有方法,代码更简洁;

  • 不足:未封装 HTTP 相关逻辑(如 GET/POST 请求区分)。

3. 方式 3:继承 HttpServlet 抽象类(实战款,99% 场景用它)

HttpServlet继承了GenericServlet,还封装了 HTTP 核心逻辑,两大核心优势:

① 自动区分 GET/POST 请求;

② 强化request/response(转为 Http 版本,支持 Session、Cookie 等)。

  • 优点:开发效率拉满,贴合实际 Web 开发;

  • 适用场景:所有实际开发场景(面试/工作都考这个)。

三、前后台传参:Servlet 和前端的“对话”

开发中最常用的就是前端传参数给 Servlet,Servlet 处理后再返回数据,核心就 2 行关键代码!

1. 接收前台参数(解决中文乱码是关键)

👉 小坑提醒:setCharacterEncoding("UTF-8")一定要先调用,否则中文参数会变成“???”!

2. 往前台传递数据

👉 前端取值:用 EL 表达式${msg}就能拿到“登录成功!”,超方便~

总结
  1. Servlet 生命周期核心:构造方法/init()/destroy() 各调用 1 次,service() 每次请求都调用;

  2. 创建方式优先选继承HttpServlet,可区分 GET/POST 请求,代码最简洁;

  3. 前后台传参:接收参数前先设编码UTF-8,传递数据用request.setAttribute()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:47:34

使用darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74训练图片是怎么生成权重文件的,怎么定义权重文件名?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者&…

作者头像 李华
网站建设 2026/4/23 11:35:21

人机共创在AI原生应用中的发展路径探索

人机共创在AI原生应用中的发展路径探索:从辅助到共生的三次进化 引言:当AI从“工具”变成“伙伴”——我们需要重新定义协作 你有没有过这样的经历? 用AI写文案时,它总抓不住你要的“感觉”——明明要的是“温暖的科技感”&…

作者头像 李华
网站建设 2026/4/18 7:36:31

从不会AI到转型产品经理:一位35+研发的100天真实记录

一位35在职研发面对AI转型焦虑,决定用100天记录从零学习AI并转型产品经理的真实过程。文章强调这不是成功案例包装,而是完整、不包装的转型实录,包括学习AI工具、产品实践、能力培养及每日真实记录。目标是帮助同样处境的普通人了解AI转型路径…

作者头像 李华
网站建设 2026/4/23 23:55:12

某教育企业AI创新孵化体系拆解:架构师眼中的3个核心价值

某教育企业AI创新孵化体系拆解:架构师眼中的3个核心价值 1. 引入与连接 1.1引人入胜的开场 在当今数字化浪潮汹涌澎湃的时代,教育领域正经历着前所未有的变革。想象一下,有一家教育企业,它不甘于传统教育模式的束缚,立…

作者头像 李华