欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

springboot配置Undertow服务器全过程

2025年08月23日 Java
说明作为springboot开发者,使用最多的就是tomcat,这是springboot默认的容器技术,而且是内嵌式的tomcat,springboot作为目前最火的java web框架,可以说容器也

说明

作为springboot开发者,使用最多的就是tomcat,这是springboot默认的容器技术,而且是内嵌式的tomcat,springboot作为目前最火的java web框架,可以说容器也起到了绝对的优势。

对于一个应用,我们也只需要将应用打包成一个jar包,以java -jar直接运行,而无需再打成war包的形式外搭tomcat服务器的方式运行应用。但是也会考虑使用undertow容器去替代tomcat。

undertow概述

undertow作为springboot默认集成的三大容器之一(tomcat、jetty、undertow);

首先它是red hat公司旗下的开源产品, 由java语言开发,是一款灵活的高性能web服务器;

不仅支持阻塞io还支持非阻塞io。由于undertow通过java语言开发,即在java项目中使用可直接嵌入。

而且,undertow完全支持servlet和web socket,在高并发情况下表现非常出色,总之,undertow在性能和内存使用方面都优于jetty、tomcat。

所以这就是为何业界内很多springboot开发者放弃tomcat,选择undertow。

springboot集成undertow

由于springboot优先默认内嵌的是tomcat,所以当你在引入undertow容器时,你就需要先排除掉tomcat,也就是它 spring-boot-starter-tomcat,

因此你需要找到spring-boot-starter-web这个starter,把tomcat去掉,然后再引入undertow的依赖,然后直接启动项目即可。

<!--web依赖-->
<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-web</artifactid>
    <!--排除spring-boot-starter-tomcat-->
    <exclusions>
        <exclusion>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-tomcat</artifactid>
        </exclusion>
    </exclusions>
</dependency>

<!-- 添加undertow容器 -->
<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-undertow</artifactid>
</dependency>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。