在 SpringBoot 框架开发中,Tomcat 作为默认内置的Web服务器被广泛使用。不过,SpringBoot 并不局限于Tomcat,它还提供了对Undertow 服务器的支持,使得开发者能够灵活地将 Tomcat 替换为 Undertow。


SpringBoot 设置 Undertow

Java 开发者对 Tomcat 这一Web容器技术可谓耳熟能详。在入门 SpringBoot 的时候,许多项目的初次部署都是在 Tomcat 环境下完成的。然而,在 SpringBoot 框架的生态系统里,并非只有 Tomcat 这一选择。实际上,SpringBoot 还无缝支持了另一种强大的容器技术—— Undertow


Undertow 作为一个高性能的 Web 服务器和反向代理,已经成为 SpringBoot 框架中的一个可选项。切换到 Undertow 非常直接,仅需在项目中加入对应的依赖配置即可轻松实现,无需复杂的设置过程。SpringBoot 通过内置对 Undertow 的支持,进一步扩展了开发者在选择Web 容器时的灵活性,展现了其高度的可定制性。


Tomcat 与 Undertow 的对比

Apache 基金会旗下的 Tomcat ,是一个专注于 Servlet 和 JSP 技术的轻量级应用服务器。它不仅具备运行 Java Web 应用的核心能力,还集成了诸如管理控制台、安全策略管理以及特定的请求处理模块(Tomcat Valves)等 Web 服务器特性。


Tomcat 内置了 HTTP 服务器功能,这使得它能够独立担当 Web 服务器的角色,无需额外部署其他 HTTP 服务器软件。


实际上,Tomcat与使用C语言编写的 Apache HTTP 服务器实际上是两个不同的产品。Apache HTTP 服务器是一个更为基础且广泛应用的 HTTP 服务器程序。Tomcat 以其开源、零成本的特性,在开发者群体中享有极高的人气。


图片


Undertow 是由 Red Hat 公司推出的开源项目,它是一款用纯 Java 编写的高效且适应性强的Web服务器。


该服务器设计独特,既能处理传统的阻塞I/O操作,也擅长执行非阻塞 I/O,从而在灵活性和性能之间取得了平衡。由于其 Java 血统,Undertow 能够无缝集成到任何 Java 应用程序中,成为项目内嵌的 Web 服务解决方案。


此外,Undertow 全面兼容 Servlet 规范及 WebSocket 协议,这使得它在构建现代 Web 应用时尤为得力,尤其是在面对高并发场景时,其表现出的卓越性能赢得了广泛认可。