POST方法提交参数后台getparameter获取不到的问题!

最近项目遇到一个bug,发现用post提交的数据有的能用request.getparamater获取参数,有的却不能,我按照网上说的修改了tomcat配置文件server.xml文件


maxPostSzie=0;测试依旧存在问题,之后修改了maxParameterCount="-1",继续测试ok;


网上查阅资料后了解到

由于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属性进行处理

你可能感兴趣的:(java)