前段时间,在编写好代码,进行前后端联调的时候,就出现了如标题的问题。最开始开发一致认同是因为tomcat的版本问题,都觉得必须使用特定的tomcat版本才是完美的解决方案。但是也不正常阿,你想嘛,为什么那么多页面,甚至提交的参数都相差不大,为什么就只有个别页面不能正常交互呢?经过后面找牛人定位,发现是因为一个tomcat的设置细节导致的。
出现上述问题,是因为在tomcat的server.xml文件中的Connector(表示客户端和service之间的连接)节点中的 maxPostSize属性设置不合理导致的。如果不设置该属性值,tomcat会默认2M的数据大小。不能正常交互的tomcat是因为该属性设置过小,导致前后端交互的时候,一些关键的POST请求数据丢失,因而无法得到预期的响应结果,后面把该值改大就可以正常交互了。当然也可以参照http://blog.csdn.net/whatever8975757/article/details/60576188进行设置,使得tomcat不对post的数据大小做限制。