这门课解决的是什么问题
在 Java Web 开发里,Servlet 负责处理具体请求,但很多横切逻辑——比如统一编码、登录校验、权限拦截、日志记录——如果写进每个 Servlet,代码会越来越乱。Filter(过滤器)和 Listener(监听器)就是用来把这些横切逻辑抽出来的标准机制。这门课只讲这两块,不碰数据库、框架或前端,内容相当聚焦。
具体到工作场景:你写了一个后台管理系统,用户未登录时直接访问某个 URL,应该被重定向到登录页;或者所有请求都要设置 UTF-8 编码;再或者你想统计在线人数、在应用启动时初始化数据源。这些需求用 Filter 和 Listener 都能干净地实现。课程用大量时间讲 Filter 的「登录后自动跳转目标 url」案例,这就是一个典型的企业级权限拦截场景,比单纯背 API 有用得多。
适合什么基础,建议先看哪几块
你需要已经掌握 Java Web 的基础:会写 Servlet、知道 request/response 对象、能搭建一个简单的 Tomcat 项目。如果连 Servlet 的 doGet/doPost 都还不熟,直接学 Filter 会比较吃力。课程里没有从零讲 HTTP 协议,默认你具备这些前置知识。
建议的学习顺序不是从头到尾看。先看「Filter 的生命周期」和「Filter 执行的顺序」,这两段分别只有四分钟,能帮你建立核心概念。接着看「Filter 与 Session 配合的简单过渡例子」,它把 Filter 和登录状态串起来,是后面两个「登录后自动跳转」案例的铺垫。那两个案例各约十五分钟,建议跟着视频动手写,而不是只看。至于「Filter 的线程安全问题」,属于进阶内容,可以放在案例跑通之后再研究,避免一开始被并发概念卡住。
Listener 部分相对独立。如果你只是为了解决数据源初始化问题,重点看「ServletContextListener 数据源」;如果是为了统计在线人数,看「HttpSessionListener」。其余 AttributeListener 系列属于了解性质,实际用得少,可以最后快速过一遍。
学完能独立做什么,资料怎么配合练习
学完这套内容,你能独立完成三件事:第一,给一个 Web 项目加上统一的登录拦截,未登录用户访问任何受保护页面都会被自动重定向到登录页,登录成功后还能回到原本想去的目标地址;第二,用 Filter 做全局编码设置、请求日志记录等横切逻辑,避免在每个 Servlet 里重复写;第三,利用 Listener 在应用启动时加载数据库连接池或读取配置文件,并在 session 创建和销毁时维护在线用户列表。
资料的使用方式:每个视频都对应一个可运行的小案例。建议先看视频,暂停后自己写一遍代码,不要直接复制。Filter 的案例尤其要反复跑,因为涉及请求转发、重定向和 session 的配合,逻辑链条长,写一遍比看三遍有效。Listener 部分代码量小,但要注意监听器在 web.xml 或注解中的注册方式,课程里两种方式都有涉及,你至少要掌握一种。练习时建议准备一个简单的登录页面和两个受保护页面,把课程里的 Filter 案例改造成自己的项目,再尝试把在线人数统计加进去。这样才算真正把内容变成自己的。
课程目录
课程目录16 集
- 1 Filter(过滤器)1 (12:38).mp4
- 2 Filter(过滤器)2 (12:30).mp4
- 3 Filter的生命周期 (04:02).mp4
- 4 Filter执行的顺序 (04:06).mp4
- 5 Filter与Session配合的简单过渡例子 (10:11).mp4
- 6 Filter实现登录后自动跳转目标url(1) (15:38).mp4
- 7 Filter实现登录后自动跳转目标url(2) (14:40).mp4
- 8 Filter的线程安全问题 (09:14).mp4
- 9 FilterConfig的用法 (04:08).mp4
- 10 ServletContextListener (07:45).mp4
- 11 ServletContextListener数据源 (09:22).mp4
- 12 ServletContextAttributeListene (08:30).mp4
- 13 HttpSessionListener (04:01).mp4
- 14 HttpSessionAttributeListener (02:36).mp4
- 15 ServletRequestListener (09:41).mp4
- 16 ServletRequestAttributeListene (02:18).mp4






