如果我在初用tomcat时,是看到这篇tomcat架构解析,是不是就不会被说菜鸡了!

news2024/10/7 9:18:59

写在前面

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附加功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

疫情下跨越一万公里的友情:熊超与飒特电子哨兵的故事

在熊超(化名)家中,有一面照片墙,上面贴满了他在非洲工作十多年的剪影。这些照片整齐地摆放成一个心形,挂在客厅最显眼的位置。每当亲戚朋友来访,熊超都会为他们讲起自己援助非洲十余年发生的故事。 十多年…

【无标题】EXCEL实现刷题

实现的思路: 导入题库word文件导入到excel–>绑定随机事件选定考题。 word题库导入Excel表的代码如下: 整理题库结构(添加题号,分离答案) Public Sub numAdd() Dim rng As Range, RNG1 As Range With Sheet1 .[b1]…

linuex服务器中如何安装mysql数据库(一次性完成,包含远程连接)

大家好。我是雄雄,欢迎关注微信公众号:雄雄的小课堂 今天给大家介绍一下,如何在新服务器中安装mysql数据库,总是捣鼓服务器,每次都去网上查,次次都不一样,浪费好多时间,这次自己记录…

Imperceptible Backdoor Attack: From Input Space to Feature Representation 笔记

1. 论文信息 论文名称Imperceptible Backdoor Attack: From Input Space to Feature Representation作者Nan Zhong(Fudan University)会议/出版社IJCAI 2022pdf📄在线pdf 本地pdf代码💻pytorch概要文中提出了一种难以察觉的后门…

temporal shift module(TSM)

【官方】Paddle2.1实现视频理解经典模型 — TSM - 飞桨AI Studio本项目将带大家深入理解视频理解领域经典模型TSM。从模型理论讲解入手,深入到代码实践。实践部分基于TSM模型在UCF101数据集上从训练到推理全流程实现行为识别任务。 - 飞桨AI Studiohttps://aistudio…

2. Object中equals和toStirng 源码分析

文章目录1.equals方法2.重写equals方法为何一定要重写hashCode方法?2.1 反例演示3.toString方法4. 整型转二进制我们都知道Object是所有类的父类,那么它里面的一些方法你是否真的理解了呢? 下面我们就以源码为基础来学习这些看似简单的方法吧…

谷歌浏览器无法使用翻译功能的解决方案,谷歌浏览器无法翻译怎么办?谷歌浏览器右键翻译失效了?

如果你发现网站别的方案无效,请参考我的方案, 绝对有效! 2022年起,突然发现谷歌浏览器的翻译功能无法使用了,既然发现问题,就要解决问题,按照下面的步骤一步一步来操作 首先下载最新版谷歌浏览…

[附源码]java毕业设计校园出入管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【Lua基础 第4章】Lua的流程控制、#的作用、table的创建方式、table表常用方法、函数、多返回值、可变长参数

文章目录💨更多相关知识👇一、Lua 的流程控制🔸if语句🌟代码演示🔸if...else 语句🌟代码演示🔸if...elseif...else 语句二、#的作用三、table的创建方式四、table表的常用方法使用🔹…

标记肽Suc-AAPI-pNA、72682-77-0

标记肽Suc-AAPI-对硝基苯胺编号: 184433 中文名称: 标记肽Suc-AAPI-对硝基苯胺 英文名: Suc-Ala-Ala-Pro-Ile-pNA CAS号: 72682-77-0 单字母: Suc-AAPI-pNA 三字母: Suc-Ala-Ala-Pro-Ile-pNA 氨基酸个数: 4 分子式: C27H38O9N6 平均分子量: 590.63 精确分子量: 590.27 等电点(P…

使用MobaXterm tunneling访问集群(服务器)jupyter notebook

应用场景 想要在本地计算机C上使用高性能服务器上的计算节点运行jupyter notebook相关的代码。 高性能服务器上通常只有一个公网ip用于账户登陆管理,但有多个计算节点,需要使用公网IP通过SSH方式登入管理节点A,并使用SSH二次登陆计算节点B&…

CKKS同态加密方案初步学习

如论文标题所示,CKKS允许复数和实数运算,是一个近似精度计算的方案,也就是解密出来的明文和加密之前的明文不会完全一致。也就是采用丢失部分精度来换取较高的效率。 CKKS的核心是把加密噪声视为近似计算误差的一部分,也就是解密出…

Python项目一:pygname

1.安装pip install pygame 2.加载模块初始化:开始 import sys import pygamepygame.init() #初始化3.创建窗口 3.1pygame .display模块 作用:创建游戏窗口 常见的内置方法: 方法作用 pygame。display.init() 初始化display模块p…

C++11标准模板(STL)- 算法(std::partial_sort)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 排序一个范围的前 N 个元素…

阿里巴巴最新总结「百亿级别并发设计手册」GitHub收获70K标星

随着淘宝购物节和抖音直播平台带货的火热&#xff0c;大批促销活动涌现&#xff0c;「秒杀」这个词也越来越频繁地出现在我们的生活里。 除了那些头部的电商公司&#xff0c;某多、某东&#xff0c;还有各种街、某会、某品等&#xff0c;甚至是一些老牌的传统企业&#xff0c;…

Android持久化技术,好内存不如烂存储

Android持久化技术&#xff0c;好内存不如烂存储前言六、Android持久化技术&#xff0c;好内存不如烂存储6.1 持久化技术介绍6.2 简单文件存储方案6.3 SharedPreferences存储方案6.3.1 获取SharedPreferences对象的三种方式6.3.2 使用SharedPreferences对象存储和读取数据6.4 S…

Model Fusion of Heterogeneous Neural Networks via Cross-Layer Alignment论文阅读

论文地址点这里 一. 介绍 本文是针对异构的网络融合技术&#xff0c;是基于上一篇OTFusion的论文进行的工作&#xff0c;解决了神经元关联问题。当所有的网络都具有相同的架构时&#xff0c;OTFusion比普通平均算法有明显的改进。与其他基于平均的模型融合方法相比&#xff0…

如何制作一个实时在线显示评论

通过循环容器及数据表功能&#xff0c;制作一个发送评论实时显示的功能 效果展示 具体步骤 制作评论背景 制作评论样式 制作一个发送评论输入框 制作一个发送按钮 创建评论数据表 添加获取评论事件 创建发送评论触发器 数据绑定与设置 步骤分解 制作评论背景 拖拽 循环容器 到…

Go基础学习【2】

文章目录一&#xff1a;数组二&#xff1a;map集合三&#xff1a;包四&#xff1a;结构体一&#xff1a;数组 1.命名 var arrAge [5]int{1,2,3,4,5} var arrAge […]int{1,2,4,5,6} var arrAge [5]string{3:“sfd”,5:“asdf”} 2.传递 通过传递数组的指针 和 使用数组的切片…

[go学习笔记.第十六章.TCP编程] 2.项目-海量用户即时通讯系统

一.项目介绍 1.项目开发流程 需求分析->设计阶段->编码实现->测试阶段->实施阶段 2.需求分析 (1).用户注册 (2).用户登录 (3).显示在线用户列表 (4).群聊(广播) (5).点对点聊天 (6).离线留言 3.示意图 4.项目开发前技术准备 项目要保存用户信息和消息数据,因此需…