服务器 发布日期:2024/12/27 浏览次数:1
一、为什么要设置maxPostSize
tomcat容器对传输数据的大小有限制,如果上传了超过此值的文件,就会报错,使得程序不能正常使用。
二、设置方法
找到tomcat目录下的/conf/server.xml,为其添加maxPostSize参数
需要注意一点的是,在不同版本的tomcat下不限制传输数据大小的场景时,对maxPostSize的值设置并不是相同的!
具体差别:
tomcat7.0.63之前 给maxPostSize设置小于等于0的值都可表示不限制
tomcat7.0.63及之后 给maxPostSize设置小于0的值可表示不限制
如果在tomcat7.0.63之后设置maxPostSize=“0”,那将会获取不到传输的数据。
四、官方文档
附上tomcat changeLog
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 大小。