一尘不染

Servet请求丢失了参数

tomcat

与请求参数有关的问题已在Tomcat中删除

好吧……显然,即使是某些服务器上的以下最简单的请求,也丢失了参数,而有些请求就可以了。

@GET
@Path("/get-retrieve")
public String foo(){
    return ""+httpServletRequest.getParameterMap().size();
}

因此返回值是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的某个地方,抛出了这些参数。


阅读 243

收藏
2020-06-16

共1个答案

一尘不染

我有一次,经过长时间的调查,结果发现问题出在Tomcat的server.xml中的Connector定义中:

<Connector connectionTimeout="20000" maxHttpHeaderSize="9000" maxParameterCount="100" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

查看“ maxParameterCount”的定义,在我们的示例中,将其设置为0,这导致所有请求参数都被删除。

2020-06-16