首页 > 解决方案 > 在 Spring Boot 中使用嵌入式 Tomcat 时如何配置 HTTP 连接器属性

问题描述

默认情况下,当将文件(作为 PUT 请求)上传到 Tomcat 时,它将读取标头,然后如果客户端发送Expect: 100-continue标头,它将立即回复HTTP/1.1 100响应以提示客户端发送文件。这可以使用HTTP 连接器文档continueResponseTiming中概述的属性在连接器上进行控制

但是在 Spring Boot 中,这个设置不能轻易地使用应用程序属性进行配置。

配置这样的属性的最佳方法是什么?

标签: spring-boottomcat

解决方案


通过使用TomcatConnectorCustomizerbean,这是一个简单的示例:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }

    @Bean
    public TomcatConnectorCustomizer connectorCustomizer() {
        return connector -> connector.setProperty("continueResponseTiming", "onRead");
    }

}

推荐阅读