You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中如何通过代码设置Tomcat的最大POST请求大小

为Spring Boot 2.5.7 Tomcat服务器设置最大POST请求大小

你可以通过自定义TomcatServletWebServerFactory来配置Tomcat的Connector,从而设置最大POST请求大小,以下是两种可行的代码实现方式:

方式一:使用WebServerFactoryCustomizer

创建配置类,通过WebServerFactoryCustomizer定制Tomcat工厂:

import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.apache.catalina.connector.Connector;

@Configuration
public class TomcatPostSizeConfig {

    @Bean
    public WebServerFactoryCustomizer<TomcatServletWebServerFactory> tomcatPostSizeCustomizer() {
        return factory -> {
            factory.addConnectorCustomizers((Connector connector) -> {
                // 设置最大POST请求大小为10MB(单位:字节)
                connector.setMaxPostSize(10 * 1024 * 1024);
                // 可选:设置Tomcat保存POST数据的最大大小,无需可忽略
                // connector.setMaxSavePostSize(10 * 1024 * 1024);
            });
        };
    }
}

方式二:直接定义TomcatServletWebServerFactory Bean

直接创建TomcatServletWebServerFactory实例并配置Connector:

import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.apache.catalina.connector.Connector;

@Configuration
public class TomcatPostSizeConfig {

    @Bean
    public TomcatServletWebServerFactory tomcatServletWebServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.addConnectorCustomizers((Connector connector) -> {
            // 设置最大POST请求大小为10MB
            connector.setMaxPostSize(10 * 1024 * 1024);
        });
        return factory;
    }
}

额外说明

  • setMaxPostSize参数单位为字节,设置为-1表示不限制POST请求大小(Spring Boot 2.5.7配套的Tomcat 9.x版本支持此设置)。
  • 如果应用涉及文件上传(Multipart类型请求),除了Tomcat的配置,还需在配置文件中添加Spring MVC的Multipart限制:
    # 单个文件最大大小
    spring.servlet.multipart.max-file-size=10MB
    # 整个请求的最大大小
    spring.servlet.multipart.max-request-size=10MB
    

内容的提问来源于stack exchange,提问作者Raman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 03:42:40