关于给Tomcat设置maxPostSize的问题及注意事项

(编辑:jimmy 日期: 2024/12/23 浏览:2)

一、为什么要设置maxPostSize

tomcat容器对传输数据的大小有限制,如果上传了超过此值的文件,就会报错,使得程序不能正常使用。

二、设置方法

找到tomcat目录下的/conf/server.xml,为其添加maxPostSize参数

关于给Tomcat设置maxPostSize的问题及注意事项 "color: #ff0000">三、设值注意事项

需要注意一点的是,在不同版本的tomcat下不限制传输数据大小的场景时,对maxPostSize的值设置并不是相同的!

具体差别:

tomcat7.0.63之前 给maxPostSize设置小于等于0的值都可表示不限制

tomcat7.0.63及之后 给maxPostSize设置小于0的值可表示不限制

如果在tomcat7.0.63之后设置maxPostSize=“0”,那将会获取不到传输的数据。

四、官方文档

附上tomcat changeLog

关于给Tomcat设置maxPostSize的问题及注意事项

ps:Tomcat设置maxPostSize导致Post请求不过去

问题:

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

排查问题:通过debug日志发现,后端没有接受到前端用户的登陆数据,检查发现Tomcat在server.xml中加入了,maxPostSize=0这个参数,先删除这个参数发现数据过去了

分析:

查询了表示maxPostSize=0表示post请求不限制大小的,google了半天才发现,原来从 apache-tomcat-7.0.63 开始,参数 maxPostSize 的含义就变了: 如果将值设置为 0,表示 POST 最大值为 0,不限制 POST 大小需要将值设置为 -1。,在此版本之前设置为 0 表示不限制 POST 大小。