我正在使用Commons HttpClient对Spring servlet进行http调用。我需要在查询字符串中添加一些参数。因此,我执行以下操作:
HttpRequestBase request = new HttpGet(url);
HttpParams params = new BasicHttpParams();
params.setParameter("key1", "value1");
params.setParameter("key2", "value2");
params.setParameter("key3", "value3");
request.setParams(params);
HttpClient httpClient = new DefaultHttpClient();
httpClient.execute(request);
但是,当我尝试使用读取servlet中的参数时
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest().getParameter("key");
它返回null。实际上parameterMap是完全空的。当我在创建HttpGet请求之前手动将参数附加到url时,该参数在servlet中可用。当我使用附加了queryString的URL从浏览器中访问servlet时也是如此。
这是什么错误?在httpclient 3.x中,GetMethod具有setQueryString()方法来追加查询字符串。4.x中的等效项是什么?