从 HTTP 协议到服务器部署:补齐后端开发的底层逻辑
很多 Java 学习者在掌握基础语法和面向对象编程后,往往会遇到一个明显的断层:能写控制台程序,也能操作集合框架,但一旦面对“浏览器请求是如何被服务器接收并处理”这个问题,就无从下手。这门课程的核心价值,正是填补这块从纯 Java 后端到 Web 服务端的能力缺口。它不直接跳跃到高阶框架,而是先回头夯实最底层的 HTTP 通信机制与 Tomcat 服务器原理。对于备考转岗或希望查漏补缺的学习者来说,这是从“写代码”转向“构建服务”的必经之路。如果你发现自己虽然会用 Spring MVC,却说不清 GET 和 POST 在请求报文层面的具体差异,或者不理解浏览器输入域名到页面展示之间到底发生了什么,这门课就是为你准备的精准补位。聚焦网络协议与服务器原理:建议先看的前置模块
课程的前半部分侧重于网络通信原理,这是初学者最容易轻视但实际工作中最常踩坑的区域。建议优先精读 HTTP 请求与服务器相关的章节,重点攻克 CS 与 BS 架构的区别、域名解析的完整流程,以及 HTTP 请求与响应的结构细节。特别是 GET 与 POST 请求方式在参数传递、安全性及幂等性上的本质区别,需要通过具体的发送方式练习来巩固,而非死记硬背。只有理解了浏览器如何封装请求数据、服务器如何解析响应内容,后续学习 Servlet 时才不会觉得抽象。此外,Tomcat 服务器的安装、目录结构以及 JavaEE 规范的引入,是连接理论代码与实际部署的关键环节。这部分内容不需要过度纠结于复杂的环境配置陷阱,但要清晰掌握一个 Web 应用是如何被容器加载和运行的,这是后续进行任何 Web 开发的基础语境。学完能独立做什么:资料配合练习的路径建议
完成本课程后,你应当能够独立解释一次 HTTP 请求的完整生命周期,包括从 DNS 解析到最终 TCP 连接建立的全过程;能够熟练掌握模拟发送 HTTP 请求的参数格式与内容结构;并具备在本地环境搭建、配置及启动 Tomcat 服务器的能力,理解 Web 资源在服务器端的存储与访问映射关系。为了达到这一目标,单纯观看视频是不够的。在配套练习环节,建议你动手配置不同的请求头信息,观察响应状态码的变化,并通过实际操作 Tomcat 目录,明确 classes、webapps 等核心文件夹的作用。不要急于进入复杂的业务逻辑开发,先把网络层和服务层的基础打牢。当你能够清晰地画出请求流转图,并解释清楚服务器为何返回特定响应时,这段学习就真正闭环了。课程目录
1-1 [HTTP请求与服务器] CS与BS架构 (05:25) 1-2 [HTTP请求与服务器] Web资源介绍 (07:14) 1-3 [HTTP请求与服务器] 域名资源访问流程 (12:17) 1-4 [HTTP请求与服务器] 发送http请求方式 (10:08) 1-5 [HTTP请求与服务器] 如何发送http请求参数 (10:16) 1-6 [HTTP请求与服务器] http请求与响应的结构 (06:02) 1-7 [HTTP请求与服务器] http请求与响应内容 (09:44) 1-8 [HTTP请求与服务器] GET与POST请求方式 (09:13) 1-9 [HTTP请求与服务器] 访问流程完整介绍 (03:23) 2-1 [Tomcat服务器] JavaEE规范与常见Web服务器 (09:57) 2-2 [Tomcat服务器] Tomcat下载安装与目录介绍 (12:49) 2-3 [Tomcat服务器] Tomcat启动与访问 (13:55) 2-4 [Tomcat服务器] 手动创建Web应用 (12:46) 2-5 [Tomcat服务器] Eclipse创建Web应用 (09:13) 2-6 [Tomcat服务器] Eclipse部署项目 (13:28) 2-7 [Tomcat服务器] Tomcat启动速度优化 (11:57) 2-8 [Tomcat服务器] Tomcat服务器Context介绍 (10:55) 2-9 [Tomcat服务器] Tomcat配置文件Context属性 (07:50) 2-10 [Tomcat服务器] Tomcat服务器体系结构 (10:04) 2-11 [Tomcat服务器] 虚拟主机 (14:54) 2-12 [Tomcat服务器] Tomcat插件安装 (06:29) 3-1 [Servlet与Servlet配置] 什么是Servlet (11:16) 3-2 [Servlet与Servlet配置] 第一个Servlet程序 (15:45) 3-3 [Servlet与Servlet配置] Servlet向浏览器响应信息 (06:37) 3-4 [Servlet与Servlet配置] 什么是反射 (08:58) 3-5 [Servlet与Servlet配置] 获取字节码 (06:44) 3-6 [Servlet与Servlet配置] 通过字节码创建对象 (05:15) 3-7 [Servlet与Servlet配置] 通过反射获取字段 (07:10) 3-8 [Servlet与Servlet配置] 反射获取方法 (04:32) 3-9 [Servlet与Servlet配置] 通过反射绕过集合泛型检测 (04:59) 3-10 [Servlet与Servlet配置] Tomcat反射加载Servlet (16:50) 3-11 [Servlet与Servlet配置] Servlet创建过程复习 (09:20) 3-12 [Servlet与Servlet配置] init与destory方法调用时机 (13:52) 3-13 [Servlet与Servlet配置] Servlet访问流程 (07:15) 3-14 [Servlet与Servlet配置] init方法参数介绍 (07:40) 3-15 [Servlet与Servlet配置] url-patten匹配形式 (06:23) 3-16 [Servlet与Servlet配置] url-patten缺省值与静态资源的访问流程 (13:11) 4-1 [注解创建Servlet与ServletContext] 使用注解创建Servlet (13:51) 4-2 [注解创建Servlet与ServletContext] doGet与doPost方法 (09:04) 4-3 [注解创建Servlet与ServletContext] doGet与doPost内部调用流程 (08:28) 4-4 [注解创建Servlet与ServletContext] 登录功能建表与界面搭建 (11:12) 4-5 [注解创建Servlet与ServletContext] 登录功能-获取请求参数 (09:53) 4-6 [注解创建Servlet与ServletContext] 登录功能-数据库配置 (13:33) 4-7 [注解创建Servlet与ServletContext] 登录功能-验证登录成功 (08:47) 4-8 [注解创建Servlet与ServletContext] ServletContext介绍 (15:16) 4-9 [注解创建Servlet与ServletContext] ServletContext介绍 (15:16) 4-10 [注解创建Servlet与ServletContext] ServletContext获取很地址与字节码目录 (12:48) 5-1 [Response响应] ServletContext域对象 (07:35) 5-2 [Response响应] Response响应流程 (07:49) 5-3 [Response响应] Response设置状态码 (06:43) 5-4 [Response响应] Response添加修改响应头 (06:20) 5-5 [Response响应] Response重定向 (12:21) 5-6 [Response响应] Response设置响应体字符信息 (04:48) 5-7 [Response响应] Response响应解决中文乱码问题 (11:19) 5-8 [Response响应] FileInputStream读取一个字符 (08:53) 5-9 [Response响应] FileInputStream读取多个字符 (07:19) 5-10 [Response响应] FileInputStream读取整个文件 (09:14) 5-11 [Response响应] Response响应图片 (10:11) 5-12 [Response响应] 文件下载-使用a标签下载文件 (05:03) 5-13 [Response响应] 文件下载-发送Servlet请求下载文件 (12:58) 5-14 [Response响应] 文件下载-Response设置文件类型与附件下载 (07:27) 5-15 [Response响应] 文件下载-请求参数中文乱码解决 (09:35) 5-16 [Response响应] 文件下载-解决下载中文文件名称问题 (07:02) 5-17 [Response响应] 注册验证码-生成图片 (10:08) 5-18 [Response响应] 注册验证码-静态页面编写 (05:10) 5-19 [Response响应] 注册验证码-点击换一张 (08:36) 6-1 [Request请求] 注册验证码-校验正确性 (11:56) 6-2 [Request请求] Request简介 (02:30) 6-3 [Request请求] Request获取请求方式 (09:55) 6-4 [Request请求] Request获取请求行 (07:11) 6-5 [Request请求] Request获取请求头 (06:36) 6-6 [Request请求] Request请求头Referer注意点 (05:35) 6-7 [Request请求] Request请求form表单参数发送 (08:55) 6-8 [Request请求] Request请求获取多个请求参数 (12:19) 6-9 [Request请求] Request请求post方式设置编码 (08:34) 6-10 [Request请求] Request请求参数BeanUtils使用 (13:19) 6-11 [Request请求] Request请求转发 (08:07) 6-12 [Request请求] Request域对象 (10:10) 6-13 [Request请求] 客户端地址服务器端地址 (02:07) 7-1 [码蚁商城-登录注册功能] 码蚁商城-登录注册功能分析 (13:37) 7-2 [码蚁商城-登录注册功能] Lombok安装使用 (09:42) 7-3 [码蚁商城-登录注册功能] JDK版本升级时常见问题 (06:07) 7-4 [码蚁商城-登录注册功能] 引用Jar包 (05:27) 7-5 [码蚁商城-登录注册功能] Lombok其它注解介绍 (04:15) 7-6 [码蚁商城-登录注册功能] 码蚁商城-注册验证码添加 (07:39) 7-7 [码蚁商城-登录注册功能] 码蚁商城-注册前端js插件安装 (09:09) 7-8 [码蚁商城-登录注册功能] 码蚁商城-注册前端验证 (08:01) 7-9 [码蚁商城-登录注册功能] 码蚁商城-注册JS提交表单 (15:59) 7-10 [码蚁商城-登录注册功能] 码蚁商城-注册录入数据库 (16:07) 7-11 [码蚁商城-登录注册功能] 码蚁商城-登录功能完成 (12:59) 8-1 [Cookie与Session会话] 会话技术 (03:56) 8-2 [Cookie与Session会话] 加入购物车需求分析 (09:16) 8-3 [Cookie与Session会话] session与cookie介绍 (09:30) 8-4 [Cookie与Session会话] 创建Cookie (10:47) 8-5 [Cookie与Session会话] 设置Cookie持久化时间 (07:52) 8-6 [Cookie与Session会话] 设置cookie的携带路径 (10:43) 8-7 [Cookie与Session会话] 删除cookie信息 (04:36) 8-8 [Cookie与Session会话] 获取指定cookie信息 (05:55) 8-9 [Cookie与Session会话] 获取上次访问时间 (10:52) 8-10 [Cookie与Session会话] Session原理 (06:47) 8-11 [Cookie与Session会话] Session域对象 (09:39) 8-12 [Cookie与Session会话] Session域的生命周期 (06:31) 8-13 [Cookie与Session会话] Session域持久化JSessionID (14:32) 9-1 [JSP] 什么是JSP (11:58) 9-2 [JSP] JSP工作原理 (10:39) 9-3 [JSP] JSP中编写Java代码 (05:19) 9-4 [JSP] JSP注释 (04:59) 9-5 [JSP] JSP指令include (09:33) 9-6 [JSP] JSP指令include (09:33) 9-7 [JSP] JSP指令page (11:19) 9-8 [JSP] JSP静态包含与动态包含 (07:45) 9-9 [JSP] JSP内置对象介绍 (09:01) 9-10 [JSP] JSP内置对象out (08:00) 9-11 [JSP] JSP内置对象pageContext (12:36) 9-12 [JSP] 码蚁商城列表-需求与准备工作 (11:16) 9-13 [JSP] 码蚁商城列表-头部尾部分离 (10:07) 9-14 [JSP] 码蚁商城列表-建表准备数据 (05:34) 9-15 [JSP] 码蚁商城-获取数据 (08:34) 9-16 [JSP] 码蚁商城列表-数据页面展示 (13:26) 10-1 [EL与JSTL] EL表达式基本使用 (09:23) 10-2 [EL与JSTL] EL表达式简写及内置对象 (11:53) 10-3 [EL与JSTL] JSTL标签IF (11:11) 10-4 [EL与JSTL] JSTL标签用户名显示控制 (10:15) 10-5 [EL与JSTL] JSTL标签普通foreach (04:31) 10-6 [EL与JSTL] JSTL标签增加foreach循环 (12:30) 10-7 [EL与JSTL] 商品列表EL表达式结合JSTL写法 (08:23) 11-1 [MVC与三层架构实战(商城后台管理系统)] MVC设置模式 (10:50) 11-2 [MVC与三层架构实战(商城后台管理系统)] MVC与三层架构 (10:30) 11-3 [MVC与三层架构实战(商城后台管理系统)] 商品列表改写 (07:24) 11-4 [MVC与三层架构实战(商城后台管理系统)] 商城后台管理系统简介 (05:07) 11-5 [MVC与三层架构实战(商城后台管理系统)] 商城后台管理系统-结构介绍 (06:32) 11-6 [MVC与三层架构实战(商城后台管理系统)] 建立管理员表 (05:12) 11-7 [MVC与三层架构实战(商城后台管理系统)] 登录业务代码编写 (15:50) 11-8 [MVC与三层架构实战(商城后台管理系统)] 管理员登录三层架构业务流程分析 (09:49) 11-9 [MVC与三层架构实战(商城后台管理系统)] 登录失败错误回显与路径问题 (13:29) 11-10 [MVC与三层架构实战(商城后台管理系统)] 登录成功重定向后台首页 (11:30) 11-11 [MVC与三层架构实战(商城后台管理系统)] 商品管理业务分析 (07:44) 11-12 [MVC与三层架构实战(商城后台管理系统)] 商品DAO添加与获取所商品 (16:19) 11-13 [MVC与三层架构实战(商城后台管理系统)] 商品DAO删除与更新商品 (08:53) 11-14 [MVC与三层架构实战(商城后台管理系统)] 商品列表业务编写 (14:14) 11-15 [MVC与三层架构实战(商城后台管理系统)] 商品列表页面展示 (07:45) 11-16 [MVC与三层架构实战(商城后台管理系统)] 商品删除 (12:42) 11-17 [MVC与三层架构实战(商城后台管理系统)] 添加商品界面分类展示 (15:47) 11-18 [MVC与三层架构实战(商城后台管理系统)] 添加商品业务分析 (11:00) 11-19 [MVC与三层架构实战(商城后台管理系统)] 添加商品接收参数 (15:07) 11-20 [MVC与三层架构实战(商城后台管理系统)] 添加商品完成 (19:11) 11-21 [MVC与三层架构实战(商城后台管理系统)] 写入数据库乱码与集合反转 (04:45) 11-22 [MVC与三层架构实战(商城后台管理系统)] 商品编辑业务流程 (07:59) 11-23 [MVC与三层架构实战(商城后台管理系统)] 商品编辑数据回显 (17:34) 11-24 [MVC与三层架构实战(商城后台管理系统)] 商品更新处理 (13:15) 11-25 [MVC与三层架构实战(商城后台管理系统)] 商品更新显示 (06:53) 11-26 [MVC与三层架构实战(商城后台管理系统)] 编辑分类下拉列表选中 (11:51) 11-27 [MVC与三层架构实战(商城后台管理系统)] 商品管理代码存在的问题 (05:03) 11-28 [MVC与三层架构实战(商城后台管理系统)] 通用Servlet (11:44) 11-29 [MVC与三层架构实战(商城后台管理系统)] 通用Servlet改进 (05:01) 11-30 [MVC与三层架构实战(商城后台管理系统)] 通用Servlet使用反射替代if判断 (14:09) 11-31 [MVC与三层架构实战(商城后台管理系统)] 抽取BaseServlet (05:32) 11-32 [MVC与三层架构实战(商城后台管理系统)] 商品模块使用通用BaseServlet (14:05) 12-1 [idea使用] Idea介绍 (03:42) 12-2 [idea使用] idea安装 (06:18) 12-3 [idea使用] idea创建普通Java工程 (04:49) 12-4 [idea使用] idea设置样式 (07:44) 12-5 [idea使用] idea主题安装 (05:37) 12-6 [idea使用] 工程选择与隐藏.idea文件夹 (10:28) 12-7 [idea使用] idea快捷键设置 (12:22) 12-8 [idea使用] lombok插件安装 (05:51) 12-9 [idea使用] tomcat服务器配置 (08:44) 12-10 [idea使用] tocat关联jar包运行项目 (08:35) 12-11 [idea使用] Jrebel热部署 (09:56) 12-12 [idea使用] idea导入Eclipse项目 (10:17) 12-13 [idea使用] 设置导入工程编码 (02:47) 13-1 [分页] 分页-导入工程 (09:44) 13-2 [分页] 分页-创建PageBean (08:31) 13-3 [分页] 分页-执行流程 (07:36) 13-4 [分页] 分页-获取总记录数 (11:22) 13-5 [分页] 分页-计算总页数 (08:41) 13-6 [分页] 分页角标算法 (09:01) 13-7 [分页] 分页-查询数据 (05:13) 13-8 [分页] 分页-数据展示 (07:03) 14-1 [监听器与过滤器] 代理设计模式 (09:00) 14-2 [监听器与过滤器] 代理设计模式代码实现 (12:26) 14-3 [监听器与过滤器] 监听器基本概念 (05:08) 14-4 [监听器与过滤器] ServletContextListener用法 (12:47) 14-5 [监听器与过滤器] HttpSessionListener (19:55) 14-6 [监听器与过滤器] ServletRequestListener (09:34) 14-7 [监听器与过滤器] 域对象属性监听器 (09:32) 14-8 [监听器与过滤器] 过滤器介绍 (06:09) 14-9 [监听器与过滤器] 过滤器的基本使用 (12:06) 14-10 [监听器与过滤器] 过滤器执行流程 (06:48) 14-11 [监听器与过滤器] 过滤器的生命周期 (10:55) 14-12 [监听器与过滤器] 过滤器配置 (04:28)





