Tomcat内部结构及工作原理学习
概览
Tomcat原本是Servlet/JSP的一个调试工具,后来才发展为一个Servlet/JSP的容器(不要轻视你写的工具,说不定会变成一个有用的轮子呢)。
Tomcat作为Servlet容器,负责处理客户请求,把请求传送给Servlet并把结果返回给客户。
Servlet容器与Servlet接口是由Java Servlet API定义的。
Tomcat的四种组件
每个元素都代表了一个种Tomcat组件,它们可以分成四类:
第一种:顶层类元素
比如Server和Service
第二种:连接器类元素
连接器类元素代表了介于客户与服务之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应传递给客户。
第三种:容器类元素
容器类元素代表处理客户请求并生成响应结果的组件,有三种容器类元素:Engine、Host和Context。Engine为特定的Service组件处理所有客户的请求,Host组件为特定的虚拟主机处理所有的客户请求。Context组件为特定的Web应用处理所有的客户请求。
第四种:嵌套类元素
嵌套类元素代表了可以添加到容器中的组件,比如<Logger>元素、<Valve>元素和<Realm>元素。
Server代表整个Catalina Servlet容器,它是Tomcat实例的顶层元素,其中可以包含一个或者多个Service元素。
Service元素中包含一个Engine元素,以及一个或者个多个Connector元素,这些Connector共享同一个Engine元素。
Connector元素代表和客户程序实际交互的组件,它负责接受客户的请求,以及向客户返回响应结果。
每个Service元素只能包含一个Engine元素,Engine元素可以处理在同一个Service中所有Connector元素接受到的客户请求。
一个Engine元素中可以包含多个Host元素,每个Host元素定义了一个主机,它可以包含一个或者多个Web应用。
Context是使用得最频繁的元素,每个Context元素代表了运行在虚拟机上的单个Web应用,一个Host元素中可以包含多个Context元素。
Tomcat内部工作原理
从图中可以看出来,Connector负责接受客户的请求并向客户返回响应,在同一个Service中,多个Connector共享一个Engine。同一个Engine有多个Host,同一个Host有多个Context。
这里只是简单的介绍一下Tomcat的工作原理,但是内部比这个还是要复杂得多,以后再学习咯。
转载于:https://www.cnblogs.com/tuhooo/p/6185197.html
Tomcat内部结构及工作原理学习相关推荐
- pwm控制舵机转动角度程序_舵机的内部结构及工作原理
一.舵机实物图 舵机是机器人旋转关节中的常用部件,尤其是小型机器人.其实物就像下面这张图,相信大家都不会陌生.大家一定见过春晚上哪个跳舞的小机器人,其全身各关节都是有舵机组成.我们常见到的舵机就是这个 ...
- 三极管在ad中的原理图库_555时基电路内部结构及其工作原理
555时基电路特点 时基电路是一种常用的模数混合型集成电路.由它组成的振荡器.单稳态触发器.双稳态触发器和各类电子开关等都被十分广泛地应用在各类电路之中.它具有定时精度高.响应速度快.温漂小.输出驱动 ...
- 区间比较_Simulink(离散PIDamp;区间检测模块)+AURIX功能安全板过流比较电路+电机结构应用与工作原理学习网站...
1 Simulink Simulink-离散PID&区间检测模块 a.离散PID模块 离散PID模块中可以对PID类型以及相应的系数进行设置: PID模块可以选择三种不同的方式进行积分,包括前 ...
- 3D动画演示 | 步进电机内部结构与工作原理
关注.星标公众号,不错过精彩内容 视频来源:Instagram美图 素材来源:机械设计制造及其自动化 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件. 在非超载的情况下,电机的转速.停止的位 ...
- 摄像头工作原理学习总结
一.摄像头组成及功能 摄像头主要由镜头lens,传感器sensor,软板FPC和图像处理芯片DSP组成,如下图2_1 图1_1 图像传感器 传感器是摄像头模组的核心模块,目前主流的图像传感器可分为CC ...
- Tomcat组成与工作原理
作者:VectorJin 来源:juejin.cn/post/6844903473482317837 Tomcat是什么 开源的 Java Web 应用服务器,实现了 Java EE(Java Pla ...
- mysql工作原理学习
MySQL运行原理与基础架构细说 1.MySQL基础 MySQL是一个开放源代码的关系数据库管理系统.原开发者为瑞典的MySQL AB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之 ...
- [激光器原理与应用-4]:激光器的内部结构与工作原理
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址: 目录 第1章 激光原理 1.1 概述 1.2 .受激吸收(简称吸收) 1.3 自发辐射 1.3 ...
- 万字详解 Tomcat 组成与工作原理
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 开源的 Java ...
最新文章
- Windows 11 预览版泄露!有 macOS 那味儿了......
- 用命令行编译java并生成可执行的jar包
- android调用web service(cxf)实例
- boost::reference_wrapper用法实例
- 嵌入式系统 Boot Loader 技术内幕
- 双端队列 BFS + Chamber of Secrets CodeForces - 173B
- JavaScript基础5——关于ECMAscript的函数
- sql服务器默认密码_搭建一个DNS服务器,轻松实现域名解析内容分发,访问速度提高N倍...
- 九度OJ-1525 子串逆序打印
- ElasticSearch 核心概念
- C# BitConverterExt 对BitConverter的GetBytes 方法扩展
- HashMap源码分析与实现
- 简单三个步骤网站建设
- 阿里云存储oss依赖报错解决方法
- JavaScript 鼠标移动事件
- Android so库动态加载总结
- obsidian安装,主题设置,已经相关功能介绍
- 一文读懂Java内存模型(JMM)及volatile关键字
- 增量学习三个场景的理解
- php 根据经纬度获取附近50km的信息,并计算距离
热门文章
- PHP 使用 AES/ECB/PKCS7 padding 加密
- Objective-c 创建类的使用
- 3 Git 分支 - 分支管理
- 如何在linux系统下对文件夹名有空格的文件
- 三年级计算机画图,三年级面积作图题_小学三年级要求画图
- IEDA快速书写代码快捷键
- Shell——从hello world和echo命令开始
- 关于优酷开放SDK之setOnLoadingStatusListener
- Clojure入门教程: Clojure – Functional Programming for the JVM中文版
- 2. TypeScript笔记