![4cee63ba92554e6b4b2e9d20fa1d6ad6.png](https://i-blog.csdnimg.cn/blog_migrate/c29981428136fa1df604cec38042a253.jpeg)
推荐阅读:大佬:2019年末巨献:Java岗史上最详细面试题合集(中间件+数据库+HTTP+多线程+JVM+分布式)zhuanlan.zhihu.com
![4cd0142167b813c853e23268eefbf982.png](https://i-blog.csdnimg.cn/blog_migrate/42a2b79fcf0d7e11377915c349bba0ac.jpeg)
有很多初级程序员会把Tomcat仅仅当做一个工具,而忽略了它的重要性。对于一个最简单的Web项目架构来说,Tomcat是前军,SSM是中军,Mysql是后方,而我们通常非常重视SSM框架的学习,而忽略Tomcat,如果能够多懂得关于Tomcat的底层原理知识,那么对于日常开发工作或项目性能调优是非常重要的。
比如:
- 我们通常都知道Tomcat是一个Servlet容器,那么它到底是怎么实现Servlet规范的呢?
- Tomcat到底是如何处理一个HTTP请求,并如何将请求传递给Servlet的呢?
- Tomcat是怎么部署一个应用的?
- Tomcat中War包和Jar包的区别是什么?
- Tomcat和Socket、Tcp协议之间存在什么关系呢?到底什么是Socket?
- Tomcat为什么要使用自定义类加载器?
- Tomcat的架构设计非常复杂,存在很多组件,那么为什么要这么设计呢?
- Tomcat到底该如何进行性能调优?
所以,对于Tomcat,正是因为它足够强大和优秀才容易被我们忽视。工欲善其事必先利其器,如果我们能真正掌握Tomcat的底层原理,那么将会有很大收获。
最近发现了一份Tomcat的PDF,讲解很透彻。今天分享给大家。
本书是为所有想学习Tomcat servlet container的读者编写的,是一本有关Tomcat由浅入深、深入浅出的优秀参考书。本书不仅适用于Tomcat爱好者,更适用于Tomcat的程序员。
Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat易于使用,便干部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了 Tomcat的核心结构。只要是对Tomcat有兴趣的同道中人,都可以从这本书中有所收获
本书共分为11章,由于pdf文档里的细节内容实在过多所以只编辑了部分知识点的章节粗略的介绍下,每个章节小节点里面都有更细化的内容!以下就是部分章节目录,为了不影响文章的观赏性,目录上的详细讲解也无法一一列出,文末底下有获取以下章节的所有详细知识讲解方式。
第一章 Tomcat 的开幕式
笔者会在本章中解释如何安装Tomcat、如何让它运行以及为了确保其能正常运行而如何测试
- 安装Tomcat
- Tomcat的启动、停止及重启
- 自动启动
- 安装后的测试
- Tomcat从何而来?
![ed0618cfaf19fe7b241eb7e2e0c2135e.png](https://i-blog.csdnimg.cn/blog_migrate/70865d1ac9433150f2ac2e9786b00df3.jpeg)
![067b8dbd1b0cf10d31b11784c6e586f4.png](https://i-blog.csdnimg.cn/blog_migrate/4c33c3645584f1619b37671522385e4a.jpeg)
第二章 配置 Tomcat
在本章中,笔者首先会说明服务器相关信息文件所在的位置,如何找出问题的根源,同时会讨论在架设与配置Tomcat时经常会犯的一些错误
- 使用Apache Web服务器
- 重定向Web应用程序的目录
- 从8080改变端口号
- Java VM配置
- 变换JSP编译器
- 管理领域、角色及用户
- 控制会话
- 访问JNDI与JDBC的资源
- Servlet自动重载
- 定制用户目录
- Tomcat应用程序示例
- 公共网关接口(CGI)
- Tbmcat Admin webapp
![315216c025a7305e6d08a4d293db9fff.png](https://i-blog.csdnimg.cn/blog_migrate/060bd13d0c835e756dfe5b50c9672276.jpeg)
![bfaae749a09cb7c171221ca1c5025cd7.png](https://i-blog.csdnimg.cn/blog_migrate/3abd535d8b4da06711499871de10cfcb.jpeg)
第三章 在Tomcat中部署Servlet与JSP Web应用程序
本章会展现由servlet、JSP、与其他文件组成的Web应用程序,并讨论几种部署方式。最后再讨论Manager Web应用程序,因为它可以替您处理一些部署工作。
- Web应用程序的布局
- 部署解包的Web应用程序目录
- 部署WAR文件
- 热部署
- 使用WAR文件
- Manager Web应用程序
- Apache Ant自动化部署
- Symbolic Links
![a227adc5861050c6208bdb444141e9cf.png](https://i-blog.csdnimg.cn/blog_migrate/b026fac780c4278a5e60dbf97e0f5d47.jpeg)
![6751dfff1a63204e7d920d0dfbff7a82.png](https://i-blog.csdnimg.cn/blog_migrate/27e172606dcc53c60896c0e70ed32399.jpeg)
第四章 Tomcat的性能调校
在本章中,笔者会说明调校底层的Java运行时环境与Tomcat服务器本身的一些观念。
- 测量Web服务器的性能
- 外部调校
- 内部调校
- 容量规划
- 额外的资源
![4baa8f89174c9c5cc5cc4244fe1bd64e.png](https://i-blog.csdnimg.cn/blog_migrate/836baf174fbf6a1766c7fa7bd79e8781.jpeg)
![32c78b6d273baf152163ba18145d31c8.png](https://i-blog.csdnimg.cn/blog_migrate/492f1e973b2a1b51df76208edabb38f0.jpeg)
第五章 与Apache Web服务器的整合
在本章中,笔者会列出将Tomcat整合到其他web服务器的多种方法
- 整合的优缺点
- 安装Apache httpd
- Apache与Tomcat的整合
- Tomcat在APR连接器上提供HTTP服务
![72846f545672deadd3fa5337ea916ca8.png](https://i-blog.csdnimg.cn/blog_migrate/a7e7aecfd217bd894528322ca5b3688c.jpeg)
![d4c5c2d07ce6c2c47b66b31f9cc4f949.png](https://i-blog.csdnimg.cn/blog_migrate/b1bcf9c94eab39214de626de07c07b1b.jpeg)
第六章 Tomcat安全防护
在本章中,我们会详细讨论什么是安全防护,以及在安装的Tomcat中怎样改善安全防护能力。
- 系统安全防护
- 多台服务器的安全防护模式
- 使用SecurityManager
- 授予文件权限
- 设置Tomcat chroot Jail
- 过滤黑客攻击
- 用SSL加强Tomcat的安全防护性能
![6f3597d049f56d62f34b459f3cb3f036.png](https://i-blog.csdnimg.cn/blog_migrate/59bbd6b8a01593c1539a85d1078376e3.jpeg)
![434e737ef852c41272cc673e029df66d.png](https://i-blog.csdnimg.cn/blog_migrate/5ec41e78178b1b45dcf5d31d99e709e0.jpeg)
第七章 配置
本章会详细讨论这些配置文件中每一个重要部分的语法
- server.xml
- web.xml
- tomcat-users.xml
- catalina.policy
- catalina.properties
- context.xml
![c4210e19aac8f6dd37018b3a0a1024bc.png](https://i-blog.csdnimg.cn/blog_migrate/8668ffc534f2907f8104c68f83f0480e.jpeg)
![918666390930ae65b7a7993a7bb78305.png](https://i-blog.csdnimg.cn/blog_migrate/db21a5a62dc9fe97939bcb4039ccb95b.jpeg)
第八章 调试与疑难排解
在本章中,笔者会介绍一些寻找故障信息的方法,以便协助您査出问题发生的原因,并列举笔者及其他人曾经犯过的错误示例,这些错误现象的发生,不是立即就显而易见的(并不是很容易解决)。
- 解读日志文件
- 猎寻错误
- URL与HTTP会话
- 用RequestDumper Valve来调试
- 无法停止Tomcat的疑难排解
![eabe1bb8fb03f2751481e70d8014425f.png](https://i-blog.csdnimg.cn/blog_migrate/14e4a6f58a3982e57e023b618f4252bd.jpeg)
![0be54a27ec7099320c202201d112fe60.png](https://i-blog.csdnimg.cn/blog_migrate/fb71278e1a11182e03b86fc364f0fef7.jpeg)
第九章 从源代码组建Tomcat
本章从源码来看怎么组建一个Tomcat
- 安装Apache Ant
- 获取资源
- 下载支持库
- 组建Tomcat
![309993dc5a7882a610db163611fe2adc.png](https://i-blog.csdnimg.cn/blog_migrate/cca85257fe269a28ec9b1fae5f2d53a4.jpeg)
![76187f39a917199ec504af61d7b59a74.png](https://i-blog.csdnimg.cn/blog_migrate/995086c802cd74d243537c7f7ca9916e.jpeg)
第十章 Tomcat集群
在本章中,笔者会详细说明建立Tomcat系统集群的步骤,其中包括架设多台机器来管理Web应用程序。
- 集群术语
- HTTP请求的通信序列
- 分布式JAVA Servlet Container
- Tomcat 6集群实现
- JDBC请求分布与故障复原
- 其他资源
![b3b9243f32f28b5b4bcc789e5fe86137.png](https://i-blog.csdnimg.cn/blog_migrate/dd02a8a0cd82a4813d81cba0c1a722e3.jpeg)
![f17894799b271a079bc8fe303566e761.png](https://i-blog.csdnimg.cn/blog_migrate/98ec94b3124b6a838f85083bb5b9745d.jpeg)
第十一章 闭幕式
笔者希望本书已帮助了读者根据自己的意愿使用Tomcat,并且提供了许多可以利用的范例。
- 补充资源
- 社区
![f4534193a065bfecb7051d72fda91271.png](https://i-blog.csdnimg.cn/blog_migrate/b47cbcf90545226b27daf84c56170886.jpeg)
![62e5a00307dd9582b62728200447a2fa.png](https://i-blog.csdnimg.cn/blog_migrate/013ff82bfdd51571550e08d1c05a8a60.jpeg)
由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
![ac26bb64123eb1c8c9c7b8113ae22999.png](https://i-blog.csdnimg.cn/blog_migrate/7d0c9bc224937c5d5bb8cfddefd83ace.jpeg)
需要这份《Tomcat权威指南》的朋友可以评论区留言(需要文档的小伙伴实在太多了,一个一个的回复不过来了),点击下方快速领取传送门,就可以免费获取到了,还有小编准备的一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》
史上最详细面试学习核心笔记免费获取:Tomcat+算法+JVM+数据库+SSM框架+Redis+消息队列+Spring全家桶等shimo.im![deb9df64eb5ba445c40bf678755f463e.png](https://i-blog.csdnimg.cn/blog_migrate/73fe0debc2104ab84038f1cd6c2811e5.jpeg)
![81ddd3ea1034a4ac1a6af2396bf650fe.png](https://i-blog.csdnimg.cn/blog_migrate/f203195789a9f63071e2813ba4b5ff73.jpeg)