前台post请求数据过长,后台接收的为null

最近在传图片的过程中,post传送序列化的数据,少量图片可以传送,多了后,后台接收的就为null,经过查找,

发现是tomcat有对POST请求的大小的限制,是通过参数maxPostSize来进行限制的,默认的情况下,大小限制是2m。

找到server.xml文件(conf目录下)

在如下的部分中,加入maxPostSize参数

<Connector port="8889" protocol="HTTP/1.1"
               connectionTimeout="20000"
               maxPostSize="-1"
               redirectPort="8443" />

注意,参数值是-1,必须是小于1的(后面,我们再解释为什么)

maxPostSize="-1"

修改好,以上的参数之后,重新启动tomcat即可。

在不同的版本中,有maxPostSize的值的设置会有不同,如下所示:

  • tomcat 7.0.63,maxPostSize设置小于等于0的值(≼0,表示不限制
  • tomcat 7.0.63及之,maxPostSize设置小于0的值(<0),表示不限制

同时注意,如果要有限制,这里的maxPostSize的单位是字节B,比如要限制最大不超过10M,则应该是10*1024*1024=10485760

posted @ 2023-02-15 15:13  凉了记忆  阅读(176)  评论(0编辑  收藏  举报