springboot web 服务器选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot web 服务器选择相关的知识,希望对你有一定的参考价值。

发表于  | Spring框架 | SpringBoot

Spring Boot 可选择内嵌 Tomcat、Jetty 和 Undertow,因此我们不需要以 war 包形式部署项目。《Spring Boot 揭秘与实战(五) 服务器篇 - 内嵌的服务器 Tomcat剖析》一文,已经讲解了内嵌的服务器 Tomcat,那么,这篇文章大概讲解下另外两个内嵌的服务器 Jetty 和 Undertow。

Jetty 的切换

Spring Boot 默认使用的是 Tomcat 作为内嵌的服务器,但是 Spring Boot 对 Jetty 也做了很好的支持,作为一个内嵌的服务器使用。
如果想要使用 Jetty 服务器,我们只要做两个步骤即可。

首先,修改 POM 文件,排除依赖。

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. <exclusions>
  5. <exclusion>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-tomcat</artifactId>
  8. </exclusion>
  9. </exclusions>
  10. </dependency>

然后,修改 POM 文件,增加Jetty依赖。

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-jetty</artifactId>
  4. </dependency>

技术分享

Undertow的使用

Undertow 是一个采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制。Undertow 是红帽公司的开源产品,是 Wildfly 默认的 Web 服务器。

Spring Boot 对 Undertow 也做了很好的支持,作为一个内嵌的服务器使用。

如果想要使用 Undertow 服务器,我们只要做两个相同的配置。

首先,修改 POM 文件,排除依赖。

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. <exclusions>
  5. <exclusion>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-tomcat</artifactId>
  8. </exclusion>
  9. </exclusions>
  10. </dependency>

然后,修改 POM 文件,增加 Undertow 依赖。

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-undertow</artifactId>
  4. </dependency>

技术分享

(完)

以上是关于springboot web 服务器选择的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot中表单提交报错“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“(代码片段

代码片段 - Golang 实现简单的 Web 服务器

springboot Thymeleaf 整合

markdown 在Intel Nuc上设置Ubuntu Web服务器,步骤和代码片段

学习小片段——springboot 错误处理

SpringBoot 高级 原理分析 -- 切换内置web服务器