从零构建轻量级 Web 服务器,理解 Java 后端核心原理

很多 Java 开发者只停留在会写 Controller 和调用框架 API,却对请求在服务器层面如何被解析、分发和响应感到陌生。这门课不讲现成的框架用法,而是带你从 Socket 编程起步,手动实现一个微型 TomCat。它解决的核心问题是:如何通过 TCP 协议建立连接,如何解析 HTTP 请求头,如何将 Servlet 接口实例化并调用 service 方法,最终将响应数据写回给客户端。对于想打破“黑盒”思维、深入理解 Java Web 底层运行机制的开发者,这是最务实的进阶路径。

零基础友好,重在底层逻辑而非语法细节

课程不要求你有复杂的架构设计经验,只需掌握 Java 基础语法和面向对象思想即可上手。资料包侧重于“原理拆解”而非“代码堆砌”,适合作为对现有知识体系的查漏补缺。建议先从“Web 服务器概念”和“Tomcat 下载安装”章节入手,建立对服务器工作的宏观认知;接着重点攻克“XML 文件作用”与“DOM4J 框架简介”,理解配置文件与解析库在服务启动时的作用。通过模仿现有 TomCat 的启动流程和端口配置,你能更清晰地掌握 Java Web 应用的启动机制。

独立开发简易服务器,掌握 Web 开发全链路能力

学完这门课,你不再仅仅是一个 Web 应用的调用者,而是能独立开发一个简易 Web 服务器的开发者。你将具备处理 TCP 连接、解析 HTTP 协议、管理请求生命周期以及模拟项目部署的能力。资料包中的代码示例可以直接作为练习底稿,建议在本地搭建环境,按照课程逻辑逐步实现 Server、Request 和 Response 核心类。通过亲手编写代码来处理“404 Not Found”或“500 Internal Server Error”,你将彻底打通 Java 后端开发的底层逻辑,为后续学习 Spring Boot 等重型框架打下坚实的地基。

课程目录

1-1 [手写TomCat前置准备] 课程目标 (13:10)
1-2 [手写TomCat前置准备] Web服务器概念 (15:22)
1-3 [手写TomCat前置准备] Tomcat服务器简介 (08:48)
1-4 [手写TomCat前置准备] Tomcat下载和安装启动 (12:15)
1-5 [手写TomCat前置准备] Tomcat的常见问题 (06:00)
1-6 [手写TomCat前置准备] Tomcat修改默认的端口 (04:11)
1-7 [手写TomCat前置准备] Tomcat模拟项目部署 (07:59)
1-8 [手写TomCat前置准备] 其他的Web服务器 (08:45)
1-9 [手写TomCat前置准备] xml文件的作用 (12:17)
1-10 [手写TomCat前置准备] DOM4J开源框架简介 (14:47)
1-11 [手写TomCat前置准备] 使用Dom4J解析端口号 (18:05)
2-1 [Tomcat服务器响应静态资源] Server.xml文件路径问题 (09:56)
2-2 [Tomcat服务器响应静态资源] Maven的编译插件 (03:43)
2-3 [Tomcat服务器响应静态资源] 项目中添加日志打印工具 (10:26)
2-4 [Tomcat服务器响应静态资源] HTTP超文本传输协议简介 (07:26)
2-5 [Tomcat服务器响应静态资源] HTTP请求协议 (09:23)
2-6 [Tomcat服务器响应静态资源] 获取浏览器请求服务器的请求协议内容 (09:06)
2-7 [Tomcat服务器响应静态资源] 开启多线程程序处理Http请求 (05:18)
2-8 [Tomcat服务器响应静态资源] 准备一个用户需要访问的地址 (12:45)
2-9 [Tomcat服务器响应静态资源] 服务响应数据到浏览器 (19:12)
2-10 [Tomcat服务器响应静态资源] 服务器响应ico容错 (08:25)
2-11 [Tomcat服务器响应静态资源] 测试404页面响应 (07:49)
2-12 [Tomcat服务器响应静态资源] 手写Web服务器后期逻辑 (04:39)
3-1 [Http协议详解] HTTP协议介绍 (25:36)
3-2 [Http协议详解] HTTP请求报文格式 (12:58)
3-3 [Http协议详解] HTTP请求的GET和POST区别 (09:39)
3-4 [Http协议详解] HTTP响应报文格式 (05:40)
3-5 [Http协议详解] 用户注册业务需求 (12:14)
3-6 [Http协议详解] 接收用户输入的请求 (07:49)
3-7 [Http协议详解] 获取用户输入的参数 (15:27)
3-8 [Http协议详解] 准备一个解耦的Servlet接口 (06:39)
3-9 [Http协议详解] 准备一个用户的Servlet (07:12)
3-10 [Http协议详解] 反射解耦合项目 (28:09)
3-11 [Http协议详解] 用户Servlet获取用户信息封装对象 (17:37)
3-12 [Http协议详解] 创建DAO数据库访问层 (16:24)
3-13 [Http协议详解] 测试Dao数据注册 (03:33)
3-14 [Http协议详解] 用户注册测试 (06:45)
3-15 [Http协议详解] 登录和注册公用Servlet藏值 (07:31)
3-16 [Http协议详解] 测试服务器登录 (14:39)
3-17 [Http协议详解] 手写服务器总结 (08:42)