Spring Boot应用往往作为服务发布,这里对HTTP2的支持,主要是对通过嵌入式Web容器支持HTTP2。
1. 在最新的Spring Boot 2.0.3.RELEASE中,集成的三种嵌入式Web容器及其版本如下:
- Tomcat 8.5.31 (Servlet 3.1)
- Undertow 1.4.25.Final(Servlet 3.1)
- Jetty 9.4.11.v20180605 (Servlet 3.1)
从上述Web容器实现的Servlet版本可知,Spring Boot 2.0.3中的Jetty,Tomcat和Undertow尚不支持HTTP2。可以在开发过程中升级Web容器,但是Tomcat难以实现,最容易的是Undertow。
2. 为了便于使用上述Web容器,在Spring Boot的spring-boot-starters项目中,提供了如下的starter模块:
- spring-boot-starter-tomcat
- spring-boot-starter-undertow
- spring-boot-starter-jetty
开发Spring Boot应用时,如果要使用嵌入式Web容器,直接将对应的starter模块加入到Maven项目的pom.xml中即可。
3. 在Spring Boot的spring-boot-samples项目中,给出了分别使用上述三种嵌入式Web容器的示例:
- spring-boot-sample-tomcat
- spring-boot-sample-undertow
- spring-boot-sample-jetty
这些示例,可以直接作为对应Spring Boot应用的原型使用。当然,需要将pom.xml中配置的<parent>,从spring-boot-samples改为sprin

本文详细介绍了Spring Boot 2.0.3如何支持HTTP2,包括集成的Tomcat、Undertow和Jetty容器版本,以及如何配置这些容器以支持HTTP2。Spring Boot的starter模块简化了集成,而HTTPS是HTTP2的前提条件,文中还提到了SSL配置和同时支持HTTP/HTTPS的方法。对于HTTP2的支持,Java 8及不同Web容器需要的额外配置也进行了说明。

被折叠的 条评论
为什么被折叠?



