经过查找各种博客资料发现 post提交是有限制的最大值
maxPostSize的默认大小为2097152,当maxPostSize=0时,不限制;maxPostSize=20971520时,为20M,改为一个小于10k的值,所有版本可用 ,会影响用户。(在server.xml的Connector中进行配置)
由于Java中的哈希表实现上的漏洞,现如今因为Tomcat使用了哈希表来存储HTTP请求参数,因此也受此问题影响。
为此Tomcat实现了一个变通的做法,提供一个新的选项maxParameterCount用来限制但请求中最大的参数数量,该参数默认值是10000,这对多数应用程序来说已经足够,这个值也足够用来绕过JRE中的哈希表的bug。
如果你正在使用早期的Tomcat版本(Apache Tomcat 5.x,Apache Tomcat 6.x,Apache Tomcat 7.x),没有maxParameterCount属性,那么可以通过限制maxPostSize到10kb以下来解决这个问题。
也可以升级到5.5.35, 6.0.35或7.0.23及以上版本使用maxParameterCount属性进行处理。
我自己试验后发现 7.0.47和7.042可以使用以下方法tomcat 持久办法:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"redirectPort="8443"
maxParameterCount="-1"
maxPostSize="0"
useBodyEncodingForURI="true"/>