目录一、Servlet 容器(Servlet Container)1. 是什么?2. 核心作用(必须掌握)3. Servlet 生命周期(容器全权控制)4. 工作流程(HTTP 请求完整链路)5. 总结一句话二、过滤器(Filter)1. 是什么?2. 核心特点3. 过滤器能做什么?(高频场景)4. 过滤器工作原理5. 过滤器生命周期三、实战:写一个过滤器(最常用的 2 个案例)环境案例 1:统一编码过滤器(解决中文乱码)案例 2:登录校验过滤器(未登录禁止访问)四、Servlet 容器 + 过滤器 完整工作流程(终极总结图)五、核心区别与关系(一句话秒懂)总结本文会用通俗易懂、层层递进的方式,把这两个 Java Web 核心概念讲透,从是什么、做什么、工作原理、使用场景到实战代码全覆盖,新手也能完全看懂。一、Servlet 容器(Servlet Container)1. 是什么?Servlet 容器 = Web 服务器 + Servlet 运行环境它是一个专门负责管理、运行、销毁 Servlet的服务器程序,是 Java Web 程序的运行载体。常见的 Servlet 容器:Tomcat(最主流、最常用)JettyUndertowWebLogic、WebSphere(企业级)简单理解:没有 Servlet 容器,Servlet 代码就无法运行,就像手机没有操作系统,APP 无法运行一样。2. 核心作用(必须掌握)Servlet 容器干 4 件最关键的事:接收 HTTP 请求浏览器发来请求,容器先接住,解析请求头、请求参数、Cookie 等。找到对应的 Servlet根据 URL 匹配,找到你写的 Servlet 类。管理 Servlet 生命周期负责创建、初始化、调用、销毁 Servlet(全程不用你手动 new 对象)。返回 HTTP 响应把 Servlet 处理完的结果封装成 HTTP 响应,返回给浏览器。3. Servlet 生命周期(容器全权控制)容器严格按照这个流程管理 Servlet:加载:第一次请求时加载类实例化:容器创建 Servlet 对象(单例)初始化:调用init()方法(只执行 1 次)服务:调用service()→ 再分发给doGet()/doPost()(每次请求都执行)销毁:服务器关闭时调用destroy()4. 工作流程(HTTP 请求完整链路)浏览器 → HTTP 请求 → Servlet 容器 → 解析请求 → 匹配 Servlet → 执行 Servlet 业务代码 → 生成响应 → 容器返回 HTTP 响应 → 浏览器5. 总结一句话Servlet 容器就是 Servlet 的 “管家”+“服务器”,负责接收请求、调度 Servlet、返回响应。二、过滤器(Filter)1. 是什么?Filter = 请求 / 响应的 “拦截器”“门卫”“中间件”它可以在请求到达 Servlet 之前和响应返回浏览器之前做统一处理。