禁止SpringBoot在项目中使用Tomcat容器的原理是什么

SpringBoot中的Tomcat容器

SpringBoot可以说是目前最火的Java Web框架了。它将开发者从繁重的xml解救了出来,让开发者在几分钟内就可以创建一个完整的Web服务,极大的提高了开发者的工作效率。Web容器技术是Web项目必不可少的组成部分,因为任Web项目都要借助容器技术来运行起来。

在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。

SpringBoot设置Undertow

对于Tomcat技术,Java程序员应该都非常熟悉,它是Web应用最常用的容器技术。我们最早的开发的项目基本都是部署在Tomcat下运行,那除了Tomcat容器,SpringBoot中我们还可以使用什么容器技术呢?没错,就是题目中的Undertow容器技术。SrpingBoot已经完全继承了Undertow技术,我们只需要引入Undertow的依赖即可,如下图所示。

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

配置好以后,我们启动应用程序,发现容器已经替换为Undertow。那我们为什么需要替换Tomcat为Undertow技术呢?

Tomcat与Undertow的优劣对比

Tomcat是Apache基金下的一个轻量级的Servlet容器,支持Servlet和JSP。Tomcat具有Web服务器特有的功能,包括 Tomcat管理和控制平台、安全局管理和Tomcat阀等。Tomcat本身包含了HTTP服务器,因此也可以视作单独的Web服务器。但是,Tomcat和ApacheHTTP服务器不是一个东西,ApacheHTTP服务器是用C语言实现的HTTP Web服务器。Tomcat是完全免费的,深受开发者的喜爱。

Undertow是Red Hat公司的开源产品, 它完全采用Java语言开发,是一款灵活的高性能Web服务器,支持阻塞IO和非阻塞IO。由于Undertow采用Java语言开发,可以直接嵌入到Java项目中使用。同时, Undertow完全支持Servlet和Web Socket,在高并发情况下表现非常出色。

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

我们在相同机器配置下压测Tomcat和Undertow,得到的测试结果如下所示:QPS测试结果对比: Tomcat

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

Undertow

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

内存使用对比:

Tomcat

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

Undertow

禁止SpringBoot在项目中使用Tomcat容器的原理是什么

通过测试发现,在高并发系统中,Tomcat相对来说比较弱。在相同的机器配置下,模拟相等的请求数,Undertow在性能和内存使用方面都是最优的。并且Undertow新版本默认使用持久连接,这将会进一步提高它的并发吞吐能力。所以,如果是高并发的业务系统,Undertow是最佳选择。

感谢各位的阅读,以上就是“禁止SpringBoot在项目中使用Tomcat容器的原理是什么”的内容了,经过本文的学习后,相信大家对禁止SpringBoot在项目中使用Tomcat容器的原理是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

文章标题:禁止SpringBoot在项目中使用Tomcat容器的原理是什么,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/27004

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年9月18日 下午10:51
下一篇 2022年9月19日 下午11:52

相关推荐

  • win11新建不了文本文档怎么解决

    在以往文章中,也有不少关于“win11新建不了文本文档怎么解决”的介绍,但内容并不是十分详尽。以下是小编最新整理的“win11新建不了文本文档怎么解决”相关知识,不仅内容详细,而且步骤、细节清晰,希望能够帮助大家解决一些工作中的疑惑。 方法一: 1、首先点开下面的“开始菜单” 2、在上方搜索看看能不…

    2022年6月27日
    54300
  • git如何删除某个分支

    git删除某个分支的方法:1、利用“git branch –delete dev”命令删除本地分支;2、利用“git push origin –delete branch”命令删除远程分支;3、利用“git branch –delete –remote…

    2022年6月29日
    10.2K00
  • mysql的case when如何用

    在mysql中,“case when”用于计算条件列表并返回多个可能结果表达式之一;“case when”具有两种语法格式:1、简单函数“CASE[col_name]WHEN[value1]THEN[result1]…ELSE[default]END”;2、搜索函数“CASE WHEN[expr]T…

    2022年9月6日
    16500
  • Apple修复iOS和iPadOS中的代码执行漏洞有哪些

    Apple公司本周修复了影响其iOS和iPadOS移动操作系统的多个严重代码执行漏洞。 该IT巨头发布iOS 14.3版本和iPadOS 14.3版本,修复了11个安全漏洞,包括代码执行漏洞。 攻击者可借助恶意字体文件利用其中最严重的漏洞在Apple iPhone和iPad上执行恶意代码。该厂商修复…

    2022年9月10日
    11700
  • mysql如何实现分组求和

    在mysql中,可以利用“GROUP BY”关键字和SUM()函数来实现分组求和,语法为“SELECT SUM(进行求和的字段名) FROM 表名 GROUP BY 需要进行分组的字段名;”。“GROUP BY”关键字可以根据一个或多个字段对查询结果进行分组,而SUM()函数根据分组情况分别返回不同…

    2022年9月21日
    66000
  • windows vc运行库介绍及常见问题怎么解决

    vc运行库是干嘛的 答:vc运行库主要是用于软件的运行支持。 1、vc运行库是使用microsoft visual studio编写的一系列.dll文件合集。 2、因此vc运行库主要服务于一些同样使用类似语言编写的软件或游戏。 3、相信很多朋友都遇到过打开软件出现弹窗提示错误代码,无法启动的问题。 …

    2022年9月20日
    16000
  • 电脑ntuser.dat文件可以删除吗

    ntuser.dat是什么文件可以删除吗: 答:可以删,但没必要的情况下最好不删,理由如下: 1、ntuser.dat是Windows 2000/XP的注册表文件之一,包含着用户特定的数据,是用户配置文件之一。 2、注册表包括多个文件,其中用户配置文件包括ntuser.dat、ntuser.ini、…

    2022年9月21日
    21200
  • coreldraw如何导入图片

    coreldraw导入图片的方法 1、打开软件,点击上方的文件。 2、点击导入。 3、这个时候我们选中想要导入的图片,点击导入。 4、然后我们在工作区域里绘制一个区域,图片就成功导入了。 感谢各位的阅读,以上就是“coreldraw如何导入图片”的内容了,经过本文的学习后,相信大家对coreldra…

    2022年9月26日
    9500
  • steam人机身份验证captcha无效如何解决

    方法一: 1、使用浏览器打开steam。 2、建议使用谷歌浏览器。 3、在谷歌浏览器中就能通过人机验证了。 方法二: 1、如果在浏览器中也无法解决。 2、可以先将右上角的”语言“改为“英语”再试试看。 方法三: 1、如果还是不行,那么打开防火墙,点击“启用或关闭windows…

    2022年8月30日
    20600
  • windows office365怎么卸载干净

    office365卸载干净步骤: 1、左键你的开始菜单,找到设置,如图。 2、点击进入到应用中。 3、在应用与功能里找到和office365。 4、点击卸载。 6、将保留我的的数据和使用习惯取消勾选。 7、此时点击继续卸载,就会将残留文件也移除了。 到此,关于“windows office365怎么…

    2022年9月21日
    24500
联系我们
站长微信
站长微信
分享本页
返回顶部