解决springMVC后台接收不到前台的传值问题 maxPostSize

一、问题

今天碰到一个问题:发送一个post请求到后台,其中传速了一套试卷的html代码,在F12中看到所有的值都是正确的,但是后台接收的所有参数的值均为null,想了半天没有发现问题。
前台传值.png

二、排查问题

1.切换别的试卷保存,发现有的可以取到值,有的取不到值,证明出现这种情况具有随机性。
2.多试了几次发现,题多的情况容易报错,而题少的试卷却没问题,说明问题和“量”有关系。
3.猜测可能是传速限制的问题,但是我记得理论上post的请求是没有传速大小限制的。
4.进一步猜想,post没有限制,还有哪里会限制的呢?答案就剩下一个了:tomcat
5.记得tomcat里面有个maxPostSize是配置大小的,根据套路先配置maxPostSize=“0”;一般等于0代表不做任何限制。结果重启服务登录,连登录都登录不了了。
6.然后猜想是不是这个套路在这不适用,于是修改了一个maxPostSize=“209715200” 200M ,发现 good 完美解决

三、最终方案

修改tomcat/conf/server.xml 中

<Connector port="8888" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
	       maxPostSize="209715200"	/>

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×