一、為什么要設(shè)置maxPostSize
tomcat容器對傳輸數(shù)據(jù)的大小有限制,如果上傳了超過此值的文件,就會報錯,使得程序不能正常使用。
二、設(shè)置方法
找到tomcat目錄下的/conf/server.xml,為其添加maxPostSize參數(shù)
參數(shù)值“-1”表示不做大小限制。不設(shè)置maxPostSize參數(shù)意為使用默認的大小,默認2097152bytes,即為2megabytes。
三、設(shè)值注意事項
需要注意一點的是,在不同版本的tomcat下不限制傳輸數(shù)據(jù)大小的場景時,對maxPostSize的值設(shè)置并不是相同的!
具體差別:
tomcat7.0.63之前 給maxPostSize設(shè)置小于等于0的值都可表示不限制
tomcat7.0.63及之后 給maxPostSize設(shè)置小于0的值可表示不限制
如果在tomcat7.0.63之后設(shè)置maxPostSize=“0”,那將會獲取不到傳輸?shù)臄?shù)據(jù)。
四、官方文檔
附上tomcat changeLog
ps:Tomcat設(shè)置maxPostSize導(dǎo)致Post請求不過去
問題:
最近部署項目,用到的Tomcat 版本:7.0.82.0,發(fā)現(xiàn)一直登陸不了,查詢發(fā)現(xiàn)原來前端的數(shù)據(jù)傳遞不到后端
排查問題:通過debug日志發(fā)現(xiàn),后端沒有接受到前端用戶的登陸數(shù)據(jù),檢查發(fā)現(xiàn)Tomcat在server.xml中加入了,maxPostSize=0這個參數(shù),先刪除這個參數(shù)發(fā)現(xiàn)數(shù)據(jù)過去了
分析:
查詢了表示maxPostSize=0表示post請求不限制大小的,google了半天才發(fā)現(xiàn),原來從 apache-tomcat-7.0.63 開始,參數(shù) maxPostSize 的含義就變了: 如果將值設(shè)置為 0,表示 POST 最大值為 0,不限制 POST 大小需要將值設(shè)置為 -1。,在此版本之前設(shè)置為 0 表示不限制 POST 大小。
到此這篇關(guān)于關(guān)于給Tomcat設(shè)置maxPostSize的問題及注意事項的文章就介紹到這了,更多相關(guān)Tomcat設(shè)置maxPostSize的問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!