弹簧引导怎么配置内置Tomcat的maxPostSize值

  介绍

本篇内容介绍了“春引导怎么配置内置Tomcat的maxPostSize值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

<编辑类="目录">目录 <李>

春季启动配置内置Tomcat的maxPostSize值

<李>

背景<李>

问题1

<李>

问题2

<李>

Tomcat设置maxPostSize导致的帖子请求不过去

<李>

问题

<李>

排查问题

<李>

分析

春季启动配置内置Tomcat的maxPostSize值

背景前端页面表单输入数据较多,包含多个文本,多张图片,在数据未压缩的情况下,最终上传失败。

问题1

后端报错:

. lang。IllegalStateException:多部分请求包含参数数据(不包括上传文件),超过了限制maxPostSize组> <李>

<代码>解决方案>

修改弹簧引导内置Tomcat的maxPostSize值,在应用程序中。yml配置文件中添加以下内容:

服务器:,,   tomcat:才能   ,,,max-http-post-size:, 1

注意:以下配置并不能解决Tomcat请求数据量的限制问题

春:   servlet才能:   ,,,多部分:   ,,,,,max-file-size: 30 mb   ,,,,,max-request-size:, 100 mb

问题2

解决了应用服务器请求数据量过大问题后,在下一步写入数据库时又遇到了类似问题,超出了数据库中最大允许数据包默认配置值。

原因:com.mysql.jdbc。PacketTooBigException:数据包查询太大(16800061比;16777216)。你可以改变这个值> <李>

<代码>解决方案>

修改DB的max_allowed_packet值:

USE 演示;   set  global  max_allowed_packet =, 3 * 1024 * 1024 * 10;, #,改为30米   show  VARIABLES  like  & # 39; % max_allowed_packet % & # 39;,, #,重启DB连接生效

注意:MySQL中max_allowed_packet的默认配置:16777216=16 * 1024 * 1024,即16 m

Tomcat设置maxPostSize导致的帖子请求不过去

问题

最近部署项目,用到的Tomcat版本:7.0.82.0,发现一直登陆不了,查询发现原来前端的数据传递不到后端

排查问题

通过调试日志发现,后端没有接受到前端用户的登陆数据,检查发现Tomcat在服务器。xml中加入了,maxPostSize=0这个参数,先删除这个参数发现数据过去了

分析

查询了表示maxPostSize=0表示帖子请求不限制大小的,谷歌了半天才发现,原来从apache-tomcat-7.0.63开始,参数maxPostSize的含义就变了:如果将值设置为0,表示后最大值为0,不限制大后小需要将值设置为1 .

在此版本之前设置为0表示不限制大后小。

弹簧引导怎么配置内置Tomcat的maxPostSize值