当前位置 : 主页 > 编程语言 > java >

解决SpringBoot框架因post数据量过大没反应问题(踩

来源:互联网 收集:自由互联 发布时间:2021-04-10
此处网上最多的做法是需要修改tomcat的参数配置大致如下: Connector port="8080" protocol="HTTP/1.1" connectionTimeout="2000" redirectPort="8443" URIEncoding="UTF-8" maxThreads="3000" compression="on" compressableMimeTyp

此处网上最多的做法是需要修改tomcat的参数配置大致如下:

<Connector port="8080" protocol="HTTP/1.1" 
connectionTimeout="2000" 
redirectPort="8443" 
URIEncoding="UTF-8" 
maxThreads="3000" 
compression="on" compressableMimeType="text/html,text/xml" 
maxPostSize="10240"/>

然而对springboot项目来说好像并不管用~~~~~~~~~~~~

最后在尝试下,springboot的application中加入如下两句话:OK~~~~

spring.http.multipart.max-file-size=1000Mb

spring.http.multipart.max-request-size=1000Mb

补充知识:解决springboot2.X发送post请求数量限制问题

今天在测试自己开发的新功能时,发现的一件匪夷所思的事,前台通过ajax发送post请求到后台,请求的数据量非常大,数据到后台发现,controller层对应的方法接收的数据不够,由于后台没有提示什么错误,就各种方式找问题,花费了一天的时间,最后发现了问题,问题的原因:tomcat的限制了post的请求的大小和请求参数的个数;这里记录以下springboot2.x的处理方式:

1、处理post请求的大小,在配置文件中添加如下参数;

server:

tomcat:

max-http-post-size: -1

2、处理post请求参数的个数,在springboot的启动类中,添加如下代码:

@Bean
public TomcatServletWebServerFactory mbeddedServletContainerFactory() {
   TomcatServletWebServerFactory tomcatEmbeddedServletContainerFactory = new TomcatServletWebServerFactory ();
    
    tomcatEmbeddedServletContainerFactory.addConnectorCustomizers(connector ->{
      connector.setMaxParameterCount(Integer.MAX_VALUE);
    });
    
    return tomcatEmbeddedServletContainerFactory;
 }

以上这篇解决SpringBoot框架因post数据量过大没反应问题(踩坑)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

网友评论