与请求参数有关的问题已在Tomcat中删除
好吧……显然,即使是某些服务器上的以下最简单的请求,也丢失了参数,而有些请求就可以了。
@GET @Path("/get-retrieve") public String foo(){ return ""+httpServletRequest.getParameterMap().size(); }
因此返回值是0(零)。
0
更新 :AccessLogValve记录的请求包含参数
127.0.0.1 - - [26/Nov/2012:03:04:58 -0800] "POST /api/get-retrieve?x=y HTTP/1.1" 200 16
因此,问题可能出在Tomcat的某个地方,抛出了这些参数。
我有一次,经过长时间的调查,结果发现问题出在Tomcat的server.xml中的Connector定义中:
<Connector connectionTimeout="20000" maxHttpHeaderSize="9000" maxParameterCount="100" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
查看“ maxParameterCount”的定义,在我们的示例中,将其设置为0,这导致所有请求参数都被删除。