一、问题
今天碰到一个问题:发送一个post请求到后台,其中传速了一套试卷的html代码,在F12中看到所有的值都是正确的,但是后台接收的所有参数的值均为null,想了半天没有发现问题。
二、排查问题
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" />