写在前面
tomcat作为一个中间件,相信绝大多数java程序员,多多少少都应该用到过吧。尤其是在springboot还未流行的时候,本地环境,没少跑tomcat服务吧?
我们一般都是直接使用,将我们的web服务,直接部署在tomcat中,然后就能跑起我们的项目。
那这个过程,究竟是怎样的一个原理呢?为什么tomcat能启动我们的应用呢?
相信大多数人都多多少少有过这样的疑问吧?好喽,如果你没这个疑问,说明你还是个初级程序员喽。
小伙,咋们还得多多加把劲喔,毕竟学海无涯,要想成为一个装逼程序员,那我们得努力做到知其然、知其所以然、知其所以必然。
什么是Tomcat
Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。
几乎所有Java程序员初期都会使用它,今天我们就带着大家深入Tomcat底层原理。
除了tomcat服务器,我们还可以使用其他的web服务器,那常见还还有以下这些:
- Undertow:是一个采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制。
- JBoss:JBoss公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- WebLogic:Oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- WebSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
而很多Tomcat相关的知识点与工作中的技巧,一篇文章是很难说完整的。这次小编针对JNM的技术知识难点特地分享一份PDF文档《tomcat架构解析文档》,里面内容涉及Tomcat总体架构、Tomcat配置管理、web服务器集成等等,接着往下看吧。
本文档共分为10个部分
第一部分:Tomcat介绍
第二部分:Tomcat总体架构
总体设计、tomcat启动、请求处理、类加载器,小结
第三部分:Catalina
什么是Catalina、Digester、创建Server、web应用加载、web请求处理、DefaultServlet和JspServlet、小结
第四部分:Coyote
第五部分:Jasper
第六部分:Tomcat配置管理
JVM配置、服务器配置、web应用配置、web应用过滤器、tomct管理、小结
第七部分:Web服务器集成
Web服务器与应用服务器的区别、 集成应用场景、与Apache HTTP Server集成等
第八部分:Tomcat集群
Tomcat集群介绍、集群配置、会话同步、集群部署、小结
第九部分:Tomcat安全
第十部分:Tomcat性能调优
Tomcat性能测试及诊断、Tomcat性能优化、应用性能优化建议、小结
第十一章:Tomcat附加功能