Tomcat文章目录

这是一个Tomcat相关文章的目录,汇总了我写过的Tomcat的所有文章,方便进行查找回顾

第一章:实现一个简单的Web容器

使用Socket编程实现一个简单的服务端程序,但是仅仅支持静态资源(html)的获取。

第二章:实现一个简单的Servlet容器

基于第一章的程序,扩展了获取servlet动态资源的能力,并对servlet规范做了简单介绍。

第三章:实现一个简易连接器

Catalina 中有两个主要的模块,连接器 (connector) 和容器 (container),连接器负责接收HTTP请求,并将请求转化成容器需要的Request对象传递给容器去使用。

本章中所要建立的连接器是Tomcat 4 中的默认连接器的简化版,默认连接器将会在第4章中讨论。虽然在Tomcat 4中已经以不再推荐使用默认连接器了,但它却是一个很好的学习工具。

第四章:剖析Tomcat的默认连接器

介绍Tomcat4的默认连接器,使用了对象池来支持并发请求,还涉及到了多线程之间的信息交互,是一个多线程编程的很好案例。

第五章:剖析Servlet容器并实现一个简易Context与Wrapper容器

介绍了Catalina的四种容器,阐述容器的共性,并针对Context与Wrapper两种容器做了一个简易实现。

第六章:Tomcat各组件的生命周期控制

Catalina下包含了各种容器、组件,它通过一个Lifecycle接口统一了这些容器、组件的启动与销毁方式,进而使得启动与销毁的入口可以收束到一点上,实现"一键启停"。

第七章:日志记录器

讲解了Tomcat默认支持的几种记录日志的方式

第八章:载入器与打破双亲委派机制的自定义类加载器

什么情况下需要自定义类加载器呢?Tomcat给出了一个很好的案例。并且,Tomcat内部是支持自动重载的,虽然我们很少用它这个特性。

第九章:Session的实现原理

详细阐述了Tomcat中的Session机制,还对spring-session-data-redis的原理做了解析。

第十一章:详解StandardWrapper

原书第十章是介绍Tomcat的安全机制的,我略过了这章,直接写第十一章。

Wrapper容器代表了一个servlet,StandardWrapper是Wrapper容器的标准实现,内部包含了过滤器的实现,文内也介绍了如何自定义过滤器。

第十二章:详解StandardContext

Context容器代表了一个Web应用,StandardContext是Context容器的一个标准实现,StandardContext中有的功能就是一个标准Web应用需要的功能。StandardContext内部拥有映射机制,能够将请求的uri映射到某个Wrapper容器上,进而调用其对应的servlet。

第十三章:Host、Engine 容器

简单介绍下Host、Engine两个容器以及他们寻址下级容器的方式。

第十四章:Server、Service 组件:如何启停Tomcat服务?

本章主要讲解了Server与Service两个组件,Server组件是Tomcat的顶层组件,它提供了一种启停Tomcat的方法,但是需要另外的程序来触发才行。

第十六章:关闭钩子,保证Tomcat的正常关闭

原书第十五章讲解了如何通过配置XML的方式来配置Tomcat的各个组件,并通过Digester库来解析XML。我略过了这章,直接写第十六章。

该章讲述了一种更有保障的关闭Tomcat的方法,即使使用kill命令杀进程时,Tomcat的关闭流程也能正常被触发执行。

相关推荐
leikooo3 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
Ivanqhz4 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
沙漠之主4 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
FPGA小徐4 小时前
PA1 基础设施(2)深度解析:NEMU 中 ITRACE、MTRACE、FTRACE、IRINGBUF、ETRACE、DIFFTEST 全解析
java·服务器·网络
YOLO数据集集合5 小时前
EvoAgent:面向PR研发治理的自进化Multi-Agent Harness系统
java·开发语言·目标检测·agent·自进化
知行EDI5 小时前
知行之桥 MaBang 端口使用指南——Create Order 订单创建篇
java·服务器·数据库
笑鸿的学习笔记5 小时前
C++笔记之大块顺序写
java·c++·笔记
打工仔折腾 AI5 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
殷色玫瑰6 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·linux·c语言·c++
青山木8 小时前
Hot 100 --- 编辑距离
java·数据结构·算法·leetcode·动态规划