返回

SpringBoot 内置 Server 揭秘:Server 的实现、选择与切换

后端

概述

SpringBoot 作为一站式解决方案,为我们提供了开箱即用的功能,其中就包括内置了服务器。内置服务器可以让您轻松地启动 SpringBoot 应用并对其进行测试,而无需自行配置和部署 Web 容器。在 SpringBoot 中,提供了三个内置服务器:Tomcat、Jetty 和 Undertow。

内置 Server 的实现

Tomcat

Tomcat 是 Apache 软件基金会开发的开源 Web 容器,以其稳定、可靠、功能强大而闻名。它支持多种协议,包括 HTTP、HTTPS、AJP 和 FTP,同时还提供了许多有用的功能,如 Servlet 容器、JSP 引擎、JDBC 连接池等。Tomcat 是 SpringBoot 默认的内置服务器。

Jetty

Jetty 是一个轻量级的 Web 容器,也是由 Eclipse 基金会开发的开源项目。Jetty 拥有高性能、低资源消耗的特点,非常适合于小型或中型的 Web 应用。它还提供了许多有用的功能,如 Servlet 容器、JSP 引擎、JDBC 连接池等。

Undertow

Undertow 是 Red Hat 开发的异步 Web 容器,它也是 SpringBoot 中支持的内置服务器之一。Undertow 以其高性能、低延迟而著称,非常适合于处理高并发请求的应用。它还提供了许多有用的功能,如 Servlet 容器、JSP 引擎、JDBC 连接池等。

默认 Server 的选择

SpringBoot 在启动时,会根据以下规则选择默认的内置服务器:

  1. 如果您在 SpringBoot 项目中引入了 Tomcat 的依赖,则 Tomcat 将被选为默认服务器。
  2. 如果您在 SpringBoot 项目中引入了 Jetty 的依赖,则 Jetty 将被选为默认服务器。
  3. 如果您在 SpringBoot 项目中引入了 Undertow 的依赖,则 Undertow 将被选为默认服务器。
  4. 如果您在 SpringBoot 项目中没有引入任何内置服务器的依赖,则 Tomcat 将被选为默认服务器。

内置 Server 的切换

如果您需要在 SpringBoot 应用中切换内置服务器,可以使用以下方法:

  1. 在 SpringBoot 项目中引入您需要使用的内置服务器的依赖。
  2. 在 SpringBoot 项目的 application.properties 文件中,设置 server.port 属性来指定服务器的端口号。
  3. 在 SpringBoot 项目的 application.properties 文件中,设置 server.context-path 属性来指定服务器的上下文路径。
  4. 在 SpringBoot 项目的 application.properties 文件中,设置 server.session-timeout 属性来指定服务器的会话超时时间。

结语

SpringBoot 内置 Server 的实现、选择和切换,旨在为您提供在构建 SpringBoot 应用时做出最优选择。Tomcat、Jetty 和 Undertow 各具特色,您可以根据您的实际需求进行选择。通过对内置 Server 的深入了解,您将能够构建更加稳定、高效、适合您需求的 SpringBoot 应用。