默认情况,Spring boot使用 tomcat容器。有时,可能会需要用到jetty容器来替代tomcat。Spring Boot通过提供Jetty starter使得配置Jetty容器变得十分简单。
添加spring-boot-starter-jetty依赖
如果使用maven则添加配置。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
如果使用gradle那么添加如下配置。
configurations {
compile.exclude module: "spring-boot-starter-tomcat"
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web:2.0.0.BUILD-SNAPSHOT")
compile("org.springframework.boot:spring-boot-starter-jetty:2.0.0.BUILD-SNAPSHOT")
}
配置Jetty
在application.properties中添加配置,来覆盖Jetty的默认配置。
server.port=8080
server.servlet.context-path=/home
####Jetty specific properties########
server.jetty.acceptors= # acceptor线程数
server.jetty.max-http-post-size=0 # put或post方法最大字节数
server.jetty.selectors= # selector线程数
此外可以通过代码利用JettyEmbeddedServletContainerFactory类来进行配置。
@Bean
public JettyEmbeddedServletContainerFactory jettyEmbeddedServletContainerFactory() {
JettyEmbeddedServletContainerFactory jettyContainer =
new JettyEmbeddedServletContainerFactory();
jettyContainer.setPort(9000);
jettyContainer.setContextPath("/home");
return jettyContainer;
}