나는 Spring 서블릿에 대한 http 호출을 만들기 위해 commons HttpClient를 사용하고 있습니다. 쿼리 문자열에 몇 가지 매개 변수를 추가해야합니다. 그래서 다음을 수행합니다.
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);
그러나 서블릿에서 매개 변수를 읽으려고 할 때
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest().getParameter("key");
null을 반환합니다. 사실 parameterMap은 완전히 비어 있습니다. HttpGet 요청을 만들기 전에 매개 변수를 URL에 수동으로 추가하면 매개 변수를 서블릿에서 사용할 수 있습니다. queryString이 추가 된 URL을 사용하여 브라우저에서 서블릿을 쳤을 때도 마찬가지입니다.
여기에 오류가 무엇입니까? httpclient 3.x에서 GetMethod에는 쿼리 문자열을 추가하는 setQueryString () 메서드가 있습니다. 4.x에서 동등한 것은 무엇입니까?