news 2026/6/10 20:20:08

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/6/9 18:30:37

仿生汗腺蒸发设计

🎓作者简介:科技自媒体优质创作者 🌐个人主页:莱歌数字-CSDN博客 💌公众号:莱歌数字(B站同名) 📱个人微信:yanshanYH 211、985硕士,从业16年 从…

作者头像 李华
网站建设 2026/6/10 15:06:58

分布式配置中心终极对决 Spring Cloud Config与Apollo架构深度解析

作为有多年Java经验的开发者,我见证了配置管理从硬编码到配置中心的演进历程。记得曾有个项目,因为一个数据库配置错误,导致生产环境瘫痪2小时——没有靠谱的配置中心,就是在悬崖边跳舞。 目录 ✨ 摘要 1. 配置中心:…

作者头像 李华
网站建设 2026/6/10 14:48:19

【领域知识】一个休闲游戏产品(安卓和iOS)从0到1

休闲游戏(安卓iOS)从0到1全流程事项清单(准备→发布) 休闲游戏核心特点:轻量化、易上手、注重用户体验快速迭代,双平台需兼顾“安卓机型兼容”和“iOS审核合规”,全流程按“前期准备→研发实施→…

作者头像 李华
网站建设 2026/6/10 13:33:20

10年产品总监揭秘:AI产品经理必备的6大核心能力与转型指南

10年AI产品总监分享,指出AI产品经理分模型层和应用型,需具备AI原生思维、技术理解力、交互设计能力和数据闭环能力。转型者应深度使用AI工具、建立技术知识图谱、从小场景实践,完成从确定性到概率性结果的认知升维。2025年岗位需求预计增长24…

作者头像 李华