一、为什么要设置maxPostSize

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

二、设置方法

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

022e9aa376e5e77c617da493da54e254.png

参数值“-1”表示不做大小限制。不设置maxPostSize参数意为使用默认的大小,默认2097152bytes,即为2megabytes。

三、设值注意事项

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

具体差别:

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

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

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

四、官方文档

附上tomcat changeLog

750dde05692f561694a956b010e9d7f9.png

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 大小。

到此这篇关于关于给Tomcat设置maxPostSize的问题及注意事项的文章就介绍到这了,更多相关Tomcat设置maxPostSize的问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐