Tomcat
极客挖掘机
一个来自十八线城乡结合部破写代码的,平时喜欢读读书、写写代码,从2019年开始运营有自己的个人公众号:极客挖掘机,想交流的朋友可以来公众号找我聊天。
展开
-
Tomcat 第六篇:类加载机制
1. 引言Tomcat 在部署 Web 应用的时候,是将应用放在 webapps 文件夹目录下,而 webapps 对应到 Tomcat 中是容器 Host ,里面的文件夹则是对应到 Context ,在 Tomcat 启动以后, webapps 中的所有的 Web 应用都可以提供服务。这里会涉及到一个问题, webapps 下面不止会有一个应用,比如有 APP1 和 APP2 两个应用,它们分别有自己独立的依赖 jar 包,这些 jar 包会位于 APP 的 WEB-INFO/lib 这个目录下,这.原创 2020-10-09 08:56:27 · 513 阅读 · 0 评论 -
Tomcat 第五篇:请求处理流程(下)
1. 请求处理流程 AprEndPoint顺着上一篇接着聊,当一个请求发送到 Tomcat 以后,会由连接器 Connector 转送至 AprEndPoint ,在 AprEndPoint 中调用了 startInternal() 方法,这个方法总共做了做了四件事儿:LimitLatch 限制连接次数。创建了 poller 线程。创建了 sendfile 线程。创建了 acceptor 。其中, poller 、 sendfile 、 acceptor 都是 AprEndPoint 的内.原创 2020-10-08 10:05:10 · 224 阅读 · 0 评论 -
Tomcat 第四篇:请求处理流程(上)
1. 引言既然是在讲 Tomcat ,那么一个 HTTP 请求的请求流程是无论如何也绕不开的。首先抛开所有,使用我们现有的知识面,猜测一下一个请求被 Tomcat 处理的过程:1. 客户端(浏览器)发送一个请求(HTTP)2. 建立 Socket 连接3. 通过 Socket 读取数据4. 根据协议(HTTP)解析请求5. 调用对应的代码完成响应上面这套流程,我相信任何一个 Java 码农都能想得到,当 Tomcat 接受到请求后,经过一系列的基础处理,最终会调用到我们自己的业务程序上,.原创 2020-09-27 09:12:47 · 273 阅读 · 0 评论 -
Tomcat 第三篇:总体架构设计
Tomcat 总体架构设计在开始这篇文章的时候,忽然发现上一篇内容的题目不是很合适,不应该叫启动流程,更确切的应该是叫启动脚本。在最开始,先介绍下 Tomcat 的总体设计,先有一个大概的印象,对 Tomcat 不至于那么陌生。先介绍下 Tomcat 的一些基础组件(以下内容来自刘光瑞老师的「tomcat 架构解析」):组件名称介绍Server这个其实就是 Servlet 容器,一个 Tomcat 中只能有一个 ServerServiceService 表示一个或多个.原创 2020-09-21 09:11:41 · 221 阅读 · 0 评论 -
Tomcat 第二篇:启动流程
1 Tomcat 基本知识首先介绍一些 Tomcat 的基本知识,防止有纯小白看的云里雾里的。下面这张图是一个下载好二进制版的的 Tomcat ,直接解压得到的,虽然版本是 9.x ,但是这个目录结构和 8.5 是一致的,不影响介绍。bin : 主要用来存放一些脚本文件,一种格式是 sh 的是在 Linux 使用的脚本,另一种格式是 bat 的是在 Windows 中使用的脚本。conf : 主要用来存放一些 Tomcat 的配置文件,有 xml 格式的也有 properties 格式的。l.原创 2020-09-18 08:54:56 · 436 阅读 · 0 评论 -
Tomcat 第一篇:源码导入 IDEA 编辑器
1 引言做 Java 的同学应该都见过上面这只名字叫 Tomcat 的猫,毕竟这只猫在过去和现在都是全球最流行的 Web 容器之一。很有意思的一件事儿是从我接触这只猫开始,从来不知道它的中文名字是啥,好像没有在任何地方看到过。然后某人第一次见跟我说这是汤姆猫么???我就没想通,这俩玩意长这么大差距是如何能被认成是同一只猫的。不过话说回来,这东西我也接触了有很多年了,从来都只是拿来用,忽然有想法深入了解下 Tomcat 的运行机制了。那么最好的方式就是看源码,如果说看源码不知道从哪看齐,还可以.原创 2020-09-15 09:11:48 · 382 阅读 · 0 评论