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的关闭流程也能正常被触发执行。

相关推荐
shuair1 小时前
idea 2023.3.7常用插件
java·ide·intellij-idea
小安同学iter1 小时前
使用Maven将Web应用打包并部署到Tomcat服务器运行
java·tomcat·maven
Yvonne9781 小时前
创建三个节点
java·大数据
不会飞的小龙人3 小时前
Kafka消息服务之Java工具类
java·kafka·消息队列·mq
是小崔啊3 小时前
java网络编程02 - HTTP、HTTPS详解
java·网络·http
brevity_souls4 小时前
Spring Boot 内置工具类
java·spring boot
小钊(求职中)4 小时前
Java开发实习面试笔试题(含答案)
java·开发语言·spring boot·spring·面试·tomcat·maven
shix .4 小时前
什么是tomcat
java·tomcat
java技术小馆4 小时前
Deepseek整合SpringAI
java·spring cloud
天荒地老笑话么4 小时前
Mac安装配置Tomcat 8
java·macos·tomcat