Tomcat过时了?别多想,很多公司还是在用的。这份Tomcat架构详解,真的颠覆你的认知

news2024/11/14 4:17:55

Tomcat 不但没有过时,Spring Boot 还给 Tomcat 第二春了。
微服务的兴起,Tomcat 针对很多应用已经做成 embedded 模式了,Tomcat 本身是容器,Tomcat 的出现就是为了解决但是 EJB 和 Weblogic,JBoss 这种大而全的大象导致的部署和安装问题。

就这只猫不猫,虎不虎的,跑了这么多年了。

针对一般的应用,通常是 Tomcat 部署上去然后丢一个 War 包进去。
Spring Boot 将 Tomcat 嵌入进来了,你不再需要重新下载安装 Tomcat ,只要有 JVM ,JDK ,直接运行 Jar 就行了

如果你只有一台服务器,貌似也没啥,使用 Tomcat 安装部署 WAR 和 运行 Jar 都差不多,不说多了,假设你有 10 台服务器,有几台是做集群,有几台分别跑不同服务和 API。

升级一次 Tomcat 的版本,或者 JDK 的版本就能让你晕掉了,这工程量是以周为计算机的,还不包括兼容性测试,等等。

Spring Boot 部署就方便多了,直接 Jar 进去,如果你要扩展服务器也很容易,把当前的服务器做个 Image,反正是个 Jar,到时升级一次就全部升级了。

简单快乐,心情大好,还没有什么兼容性问题,因为都测过了,不会因为有些时候服务器跑 Tomcat 8,有些时候服务器跑 Tomcat 9 出问题。

这里介绍一份详解Tomcat架构的秘籍,让我们一起来深入探索一下吧

第一章:Tomcat介绍

  • 简介
  • 安装和启动
  • Tomcat目录结构
  • Tomcat 8.5之后的新特性

     

     

第二章:Tomcat总体架构

  • 总体设计
  • Tomcat启动
  • 请求处理
  • 类加载器

     

第三章:Catalina

  • 什么是Catalina
  • Digester
  • 创建Server
  • Web应用加载
  • Web请求处理
  • DefautSerletoIspserlet

     

第四章:Coyote

  • 什么是Coyote
  • HTTP
  • AJP
  • HTTP/2.0
  • I/O

     

第五章:Jasper

  • Jasper简介
  • JSP编译方式
  • JSP编译原理

     

第六章:Tomcat配置管理

  • JVM配置
  • 服务器配置
  • Web应用配置
  • Web应用过滤器
  • Tomcat管理

     

第七章:Web服务器集成

  • Web服务器与应用服务器的区别
  • 集成应用场景
  • 与Apache HTTP Server集成
  • 与Ngnix集成
  • 与IIS集成

     

第八章:Tomcat集群

  • Tomcat集群介绍
  • 集群配置
  • 会话同步
  • 集群部署

     

第九章:Tomcat安全

  • 配置安全
  • 应用安全
  • 传输安全(SSL)
  • Java安全策略

     

第十章:Tomcat性能调优

  • Tomcat性能测试及诊断
  • Tomcat性能优化
  • 应用性能优化建议

     

第十一章:Tomcat附加功能

  • Tomcat的嵌入式启动
  • Tomcat中的JNDI
  • Comet和WebSocket

     

最后,“闻道有先后,术业有专攻”,对于Tomcat很多功能,本篇仅从架构上做了一个基本的介绍,涉及技术细节(如JVM、1O、协议等),还需要朋友们进一步阅读相关权威的参考书, 如此才会对应用服务器的知识做到融会贯通。

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

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

相关文章

C++ OpenCV【视频合并:多个图像拼接在一张图像】

提示:本文中视频拼接指的是将多张图像按空间合并在一张图像上,而不是将多张图像按时间顺序拼接成一个多帧片段。 文章目录 前言 一、OpenCV知识点 1.OpenCV裁剪矩形区域赋值 2.OpenCV将Mat粘贴到指定位置 二、程序样例 1.程序源码 2.运行结果 前言 C版…

[附源码]Python计算机毕业设计Django姜太公渔具销售系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

看完这篇,还不懂JAVA内存模型(JMM)算我输

前言 开篇一个例子,我看看都有谁会?如果不会的,或者不知道原理的,还是老老实实看完这篇文章吧。 Slf4j(topic "c.VolatileTest") public class VolatileTest {static boolean run true;public static void main(Str…

一个简单的HTML网页 个人网站设计与实现 HTML+CSS+JavaScript自适应个人相册展示留言博客模板

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

Ubtunu排查磁盘空间是否已满—并清理的方式

项目场景: 最近使用nodejs开发的后端项目部署到Ubtunu服务器后接口无法访问了,接口也调用不通,NGINX报502错误。 问题描述 使用远程连接工具传文件也是无法上传,提示找不到文件,SCP命令也无法上传。 scp传文件报错&…

一文教会你如何在内网搭建一套属于自己小组的在线 API 文档?

Hello,大家好,我是阿粉,对接文档是每个开发人员不可避免都要写的,友好的文档可以大大的提升工作效率。 阿粉最近将项目的文档基于 Gitbook 和 Gitlab 的 Webhook 功能的在内网部署了一套实时的,使用起来特方便了。跟着…

第二证券|11月十大牛股出炉 特一药业163%涨幅问鼎榜首

到11月30日收盘,11月份十大牛股中7只个股涨幅超过100%,涨幅最小的也有87%,均匀涨幅较上个月有所扩大。 11月,A股出现震荡爬高态势,到11月30日收盘,上证指数月内涨8.91%,深证成指涨6.84%&#xf…

大学生HTML作业节日网页 HTML作业节日文化网页期末作业 html+css+js节日网页 HTML学生节日介绍 HTML学生作业网页视频

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

基于STM32单片机的温湿度检测报警器(数码管)(Proteus仿真+程序)

编号:27 基于STM32单片机的温湿度检测报警器(数码管) 功能描述: 本设计由STM32F103单片机最小系统DHT11温湿度传感器数码管显示模块声光报警模块独立按键组成。 1、主控制器是STM32F103单片机 2、DHT11传感器测量温度和湿度数据…

Android注解快速入门和实用解析

首先什么是注解?Override就是注解,它的作用是: 1、检查是否正确的重写了父类中的方法。2、标明代码,这是一个重写的方法。1、体现在于:检查子类重写的方法名与参数类型是否正确;检查方法private&#xff0f…

带你走进知识图谱的世界

知识图谱知识图谱的介绍01 什么是知识图谱02 知识图谱构建的关键技术03 知识图谱的存储04 知识图谱在金融领域的应用图数据库 Neo4j知识图谱的介绍 知识图谱最开始是Google为了优化搜索引擎提出来的,推出之后引起了业界轰动,随后其他搜索公司也纷纷推出…

[附源码]计算机毕业设计医疗器械公司公告管理系统Springboot程序

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

MXNet中im2rec将图片转换成二进制RecordIO格式

我们在前面的 计算机视觉之目标检测训练数据集(皮卡丘)《2》其中有提到这个二进制的RecordIO格式,使用的是MXNet自带的im2rec工具,源码在tools里面 import mxnet as mx #D:\Anaconda3\envs\myd2l\lib\site-packages\mxnet\tools\…

农大毕业7年后,转行软件测试,我拿到了一块结实的敲门砖

“经过这段时间的学习,让我摸清了这个行业的游戏规则,可以说是让我拿到了一块结实的敲门砖。” 今天跟大家分享的是近期就业的学员刘同学的转行故事,希望他的经历能给同样在向梦想奔跑的你一些帮助。 毕业7年后,从网信办主任转行…

基于STM32单片机的直流电机PWM调速(数码管显示)(Proteus仿真+程序)

编号:24 基于STM32单片机的直流电机PWM调速 功能描述: 由 STM32单片机数码管显示模块键盘模块L298N电机驱动模块直流电机 1、采用STM32F103单片机为主控制器 2、四个按键,分别为启动/暂停、方向切换、加速、减速功能 3、数码管显示PWM占空比…

[附源码]计算机毕业设计演唱会门票售卖系统Springboot程序

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

SMART PLC高速脉冲输出如何断电保持当前位置

S7-200 SMART PLC脉冲轴控制相关的内容,可以参看下面的博客: S7-200 SMART PLC自定义脉冲轴控功能块AxisControl_FB(梯形图)_RXXW_Dor的博客-CSDN博客博途1200/1500PLC的相关总线轴PN总线控制可以参考相关专栏的博客,链接地址如下:博途PLC 1200/1500PLC轴控功能块Servo_A…

[附源码]Python计算机毕业设计Django基于Vuejs的中国名茶销售平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

历史名人鲁迅介绍HTML个人网页作业作品下载 历史人物介绍网页设计制作 大学生英雄人物网站作业模板 dreamweaver简单个人网页制作

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

Java分布式系统和云计算教程

Java分布式系统和云计算教程 大规模学习分布式 Java 应用程序、并行编程、分布式计算和云软件架构 课程英文名:Distributed Systems & Cloud Computing with Java 此视频教程共4.0小时,中英双语字幕,画质清晰无水印,源码附…