在自己下载Tomcat服务器时看到了Tomcat上这样一段话

引起了我的好奇心,到底是什么样的变化让基于Tomcat9开发的应用程序无法在Tomcat10上运行。在网络上粗略搜索之后,搜索出来这样的结果:Tomcat中javax.servlet 换成了 jaraka.servlet。那么先来验证这种说法对不对吧。

首先下载Tmocat 10和Tomcat 9,我下载的分别是是10.0.20和9.0.62这两个版本。

要找到javax.servlet和jaraka.servlet,就需要知道Tomcat每个文件时干什么的。Tomcat共有七个包,分别是bin、conf、lib、logs、temp、webapps、work,其中lib文件夹中存放的就是Tomcat在运行时所需要的jar包,所以在lib中才能找到servlet对应的jar包。然后分别进行解压。解压完成后就会发现,Tomcat10解压后的包名为jaraka,而Tomcat9解压后的包名为javax。如图:

 

这样也就可以证实 Tomcat中javax.servlet 确实被换成了 jaraka.servlet。那么这样的影响又是如何使得基于Tomcat9及之前版本开发的应用程序在Tomcat10上无法正常运行呢?那就要了解servlet这个包的意义了。简单来说,就是所有的webapp都需要遵守servlet的一套标准,如果不遵守就会造成所开发出来的webapp无法运行或者无法迁移至其他的服务器上。所以servlet包名的更改会导致之前所有引用到javax.servlet的地方都需要更改成jakarta.servlet,所以Tomcat9及之前版本开发的应用程序无法在Tomcat10上正常运行。

如对笔者所写内容有任何建议和意见还望指出。

浅识Tomcat10和Tomcat9的区别相关推荐

  1. 浅识Flutter 基本组件之TextField组件 输入框decoration属性

    浅识Flutter 基本组件之TextField组件 输入框decoration属性 decoration InputDecoration控制输人框提示信息样式的常用属性 InputDecoratio ...

  2. 浅识Flutter 基本组件Scaffold

    浅识Flutter 基本组件Scaffold 1. body 2. backgroundColor 3. appBar Scaffold是Flutter开发中实现Material Design布局结构 ...

  3. 浅谈 unix, linux, ios, android 区别和联系

    浅谈 unix, linux, ios, android 区别和联系 网上的答案并不是很好,便从网上整理的相对专业的问答. 1.UNIX 和 Linux UNIX 操作系统(尤尼斯), 是一个强大的多 ...

  4. 建造者模式浅谈 与工厂模式的区别

    感谢您的阅读.如果感觉文章对您有用,麻烦您动动手指点个赞,以资鼓励.谢谢! 转载请注明出处哈 建造者模式浅谈 与工厂模式的区别_茄子_土豆的博客-CSDN博客_建造者模式和工厂模式的区别 创建对象时构 ...

  5. 浅识Flutter 基本组件MaterialAPP的theme属性 app主题

    浅识Flutter 基本组件MaterialAPP的theme属性 app主题 ThemeData属性及描述 设置主题 theme属性用于指定应用程序的主题(即共享颜色和字体样式). 例如,需要将应用 ...

  6. 浅识Flutter 基本组件Scaffold的 drawer属性 app创建头像

    浅识Flutter 基本组件Scaffold的 drawer属性 app创建头像 在项目开发中使用本地图片资源文件的步骤. 1.在项目下创建一个文件夹image 2.将本地图片放入images文件夹里 ...

  7. c语言宽字符与wchar,浅谈c++ 字符类型总结区别wchar_t,char,WCHAR

    1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数. UNICODE:wchar ...

  8. LPDDR4x 的 学习总结(1) - 存储体的浅识

    验证LPDDR4x 已经有1年,最近把放在onenote的资料整合一下.供后续自己查看,也方便其他有需要的同学上手. 什么是DDR4 ? 第四代双倍速率同步动态随机存取记忆体(英文:Double-Da ...

  9. SV学习笔记—浅复制和深复制的区别详解

    目录 1.句柄的复制 2.对象的复制 2.1浅复制shallow copy 2.2深复制deep copy 3.this的用法 在类中,复制一半会涉及到句柄的复制,浅复制和深复制3种操作,下面来看看这 ...

  10. 浅谈 -- ♡ ‧₊˚ JS 与JQ的区别 ‧₊˚ ♡

    jQuery是一个Javascript库,是对于ECMAScript.dom.bom的一个浅封装,让用户更方便操作. 让我们简单谈谈JS与JQ的区别吧! ♡ ‧₊˚  定义  ‧₊˚ ♡ js是网页的 ...

最新文章

  1. spark mysql 驱动_spark读取mysql数据库的驱动问题
  2. JVM参数设置和分析
  3. 送你了,思科设备基础配置命令大全(一),赶紧收藏......
  4. 允许活动内容如脚本和activex控件
  5. java try catch 异常后还会继续执行吗
  6. @value 数组_数据结构与算法:12 数组与稀疏矩阵
  7. qml中loader加载页面会闪屏_Qml动态语言切换
  8. jquery easyui datagrid js获取记录数 页数 当前页
  9. 使用Jupter Notebook实现简单的神经网络
  10. QString字符串中双引号的梗
  11. docker的核心原理-cgroup
  12. Java实现 蓝桥杯VIP 算法训练 会议中心
  13. 远控免杀专题10--TheFatRat免杀
  14. 协整理论与面板数据分析
  15. 百旺信云计算机中心,百旺信云数据中心机房介绍
  16. 网络流量分析——NPMD关注IT运维、识别宕机和运行不佳进行性能优化。智能化分析是关键-主动发现业务运行异常。科来做APT相关的安全分析...
  17. 阿里云账号怎么注册?
  18. 中国与印度软件工程师之比较
  19. WebUploader 上传,仿淘宝宝贝发布
  20. 《Android开发自我整理知识——简介及学习资料链接》

热门文章

  1. 计算机设备没有音频,电脑没有音频设备怎么办
  2. Github使用: 无法打开github网页
  3. Air应用:Splus微博,wing微博
  4. sklearn机器学习之分类决策树(泰坦尼克号幸存者数据集)
  5. LoadRunner基础入门教程
  6. KK音标和国际音标的对照
  7. 联想笔记本卸载McAfee
  8. 数字孪生新型智慧城市一网统管云平台建设方案(44页PPT)
  9. iOS TestFlight 使用详解
  10. 利用百度智能云实现车牌号识别