Spring Boot默认支持Tomcat作为嵌入式Servlet容器。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!--引入web模块默认就是使用嵌入式的Tomcat作为Servlet容器--></dependency>
替换成Jetty
Jetty就是一个开源的HTTP服务器和Servlet引擎,它可以为JSP和Servlet提供运行时环境。由于其轻量、灵活的特性,Jetty也被应用于一些知名产品中,例如ActiveMQ、Maven、Spark、GoogleAppEngine、Eclipse、Hadoop等。 为什么使用Jetty? 1、异步的 Servlet,支持更高的并发量
2、模块化的设计,更灵活,更容易定制,也意味着更高的资源利用率 3、在面对大量长连接的业务场景下,Jetty 默认采用的 NIO 模型是更好的选择 4、将Jetty嵌入到应用中,使一个普通应用可以快速支持 http 服务
<!--引入web模块,但排除tomcat--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><artifactId>spring-boot-starter-tomcat</artifactId><groupId>org.springframework.boot</groupId></exclusion></exclusions></dependency><!--引入Jetty容器--><dependency><artifactId>spring-boot-starter-jetty</artifactId><groupId>org.springframework.boot</groupId></dependency>
排除tomcat,引入Jetty之后,原来所有的关于server的配置都会重新配置到Jetty上,如果需要配置Jetty属性,则将server.tomcat.xxxx=value替换成server.jetty.xxxx=value即可。
替换成Undertow
Undertow是Red Hat公司的开源产品,它完全采用Java语言开发,是一款灵活的高性能Web服务器,支持阻塞IO和非阻塞IO。由于Undertow采用Java语言开发,可以直接嵌入到Java项目中使用。同时, Undertow完全支持Servlet和Web Socket,在高并发情况下表现非常出色。
<!-- 引入web模块,排除tomcat --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><artifactId>spring-boot-starter-tomcat</artifactId><groupId>org.springframework.boot</groupId></exclusion></exclusions></dependency><!--引入Undertow容器--><dependency><artifactId>spring-boot-starter-undertow</artifactId><groupId>org.springframework.boot</groupId></dependency>
排除tomcat,引入Undertow之后,原来所有的关于server的配置都会重新配置到Undertow上,如果需要配置Undertow属性,则将server.tomcat.xxxx=value替换成server.undertow.xxxx=value即可。
