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

此处网上最多的做法是需要修改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数据量过大没反应问题(踩坑)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Jvm调优和SpringBoot项目优化的详细教程

    一.Jvm调优. 参考文章 1.先看一下未设置JVM参数的情况,默认情况下,没有设置任何Jvm参数. idea中安装VisualVM监控jvm的图文教程 2.设置Jvm参数. 配置参数: 关于这些设置的JVM参数是什么意思,参考Jvm调优. -XX:MetaspaceSize=128m (元空间默认大小) -XX:MaxMetaspaceSize=128m (元空间最大大小) -Xms1024m (堆最大大小) -Xmx1024m (堆默认大小) -Xmn256m (新生代大小) -Xss256

  • 记一次springboot服务凌晨无故宕机问题的解决

    表述 在一次服务更新后发现每天凌晨0点3秒服务准时挂,开始的时候认为是maven依赖中存在system.exit(3)类似这样的代码,但是我想了下这个代码很多客户都有用到但是只有这一个客户出现了问题,而且另外一个服务没有更新在此前几个月都是没问题的 这几天也是一样无故挂了. 环境 windows服务器 排查 1.初步怀疑是内存泄漏问题,在启动脚本中加入 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump.log,第二天起来一看

  • Springboot异常错误处理解决方案详解

    1.在有模板引擎的情况下: springboot会默认找 templates/error/错误状态码.html,所以我们要定制化错误页面就可以到templates/error下创建一个[对应错误状态码.html]html文件,当发生此状态码的错误springboot就会来到对应的页面. 同时如果我们想让400-499之间的错误都去同一个错误页面,那我们可以在templates/error下创建一个4xx.html.同理500-599的错误可以用5xx.html. 注意:springboot会优先

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

    此处网上最多的做法是需要修改tomcat的参数配置大致如下: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="2000" redirectPort="8443" URIEncoding="UTF-8" maxThreads="3000" compression="on" compress

  • 完美解决因数据库一次查询数据量过大导致的内存溢出问题

    刚开始接触项目的实习生,积累经验,欢迎交流 之前做项目,遇到过一次查询数据量过大而导致的内存溢出问题,找了很多办法一直未能实际解决问题, 今天又遇到了,经过前辈的指导,终于解决了问题!! 不过此方法只在DBug启动下有效 以上这篇完美解决因数据库一次查询数据量过大导致的内存溢出问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • antd的select下拉框因为数据量太大造成卡顿的解决方式

    相信用过antd的同学基本都用过select下拉框了,这个组件数据量少的时候很好用,但是当数据量大的时候,比如大几百条上千条甚至是几千条的时候就感觉一点都不好用了,卡的我怀疑人生,一点用户体验都没有了. 当然这不是我想去优化它的动力,主要是公司业务人员和后端的同事也无法忍受,于是我只能屈从于他们的淫威.... 想要优化肯定要知道为什么会卡,初步判断就是数据量过大导致渲染option组件的时间过长导致卡顿,于是想要不卡只能限制渲染的数据数量. 我的想法是这样的:任何时候都只渲染前100条数据以保证

  • 解决echarts图表y轴数据间隔过大的问题

    目录 echarts图表y轴数据间隔过大的问题 echarts图表Y轴最小间隔值 改为1 总结 echarts图表y轴数据间隔过大的问题 1.如图所示,echarts图表y轴数据间隔过大,前面几个显示正常,最后一个值变得很大,造成页面特别难看 2.解决办法: 在yAxis中axisLabel设置如下,可以根据自己的需求截取几位小数点 yAxis: { type: "value", axisLabel: { formatter:function (value, index) { retu

  • PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法

    首先,创建一个存储过程 get_clob: t_name:要查询的表名:f_name:要查询的字段名:u_id:表的主键,查询条件:l_pos:截取的开始位置: l_amount :截取长度: CREATE OR REPLACE PROCEDURE get_clob(t_name in varchar2, f_name in varchar, u_id in integer, l_pos in integer, l_amount in BINARY_INTEGER, ReturnValue ou

  • window.location.href中url中数据量太大时的解决方法

    先说一下今天遇到的问题 一个导出excel的处理,在按钮按下后需要传很大一个数据到后台,刚开始的做法如下: 复制代码 代码如下: var actionUrlSetData = "****Action!exportDatas.action"+ "?now=" + new Date().getTime();window.location.href= actionUrl + "&" + data; 上面的data就是一个很长的字符串. 这样在火

  • Ajax请求在数据量大的时候出现超时的解决方法

     最近在用EXtjs做项目,在加载数据量特别大的时候会出现加载超时现象,在FB下查看,原来是ext默认ajax请求30秒. 在网上搜到下面的解决方法,以备参考和其他人参考. ExtJS做Ajax请求的时候,默认的相应时间是30秒,如果后来数据查询时间超过30秒,ExtJS就会报错. 这就需要修改ExtJS的超时时间: 2种方法: 1:在Ajax请求的时候加:(timeout: 100000000)属性 复制代码 代码如下: Ext.Ajax.request({ url: 'foo.php', s

  • 解决Mybatis 大数据量的批量insert问题

    前言 通过Mybatis做7000+数据量的批量插入的时候报错了,error log如下: , ('G61010352', '610103199208291214', '学生52', 'G61010350', '610103199109920192', '学生50', '07', '01', '0104', ' ', , ' ', ' ', current_timestamp, current_timestamp ) 被中止,呼叫 getNextException 以取得原因. at org.p

  • Mysql大数据量查询优化思路详析

    目录 1. 千万级别日志查询的优化 2. 几百万黑名单库的查询优化 3. Mybatis批量插入处理问题 项目场景: Mysql大表查询优化,理论上千万级别以下的数据量Mysql单表查询性能处理都是可以的. 问题描述: 在我们线上环境中,出现了mysql几千万级别的日志查询.几百万级别的黑名单库查询分页查询及条件查询都慢的问题,针对Mysql表优化做了一些优化处理. 原因分析:首先说一下日志查询,在Mysql中如果索引加的比较合适,走索引情况下千万级别查询不会超过一秒,Mysql查询的速度和检索

  • 大数据量高并发的数据库优化详解

    如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 一.数据库结构的设计 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程. 所以在考虑整个系统的流程的时候,我们必须

随机推荐