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-je