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

相关推荐
seasugar2 分钟前
记一次Maven拉不了包的问题
java·maven
Allen Bright10 分钟前
【Java基础-26.1】Java中的方法重载与方法重写:区别与使用场景
java·开发语言
苹果酱056712 分钟前
Golang的文件解压技术研究与应用案例
java·vue.js·spring boot·mysql·课程设计
秀儿y15 分钟前
单机服务和微服务
java·开发语言·微服务·云原生·架构
ybq1951334543116 分钟前
javaEE-多线程案例-单例模式
java·开发语言
seasugar32 分钟前
Maven怎么会出现一个dependency-reduced-pom.xml的文件
xml·java·maven
一只淡水鱼6636 分钟前
【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
java·数据库·spring·mybatis
唐叔在学习1 小时前
【唐叔学算法】第19天:交换排序-冒泡排序与快速排序的深度解析及Java实现
java·算法·排序算法
music0ant1 小时前
Idea 配置环境 更改Maven设置
java·maven·intellij-idea
记得开心一点嘛1 小时前
Nginx与Tomcat之间的关系
java·nginx·tomcat