2009-05-16 6 views
0

브라우저 제한으로 인해 프록시를 사용하여 openlayers 맵 작업을해야합니다.ServletFilter에서 HttpServletReqest의 매개 변수로 POST URL을 얻는 방법은 무엇입니까? (프록시 앱의 경우)

객체가 같은 URL의 생성을 처리하는 자바 스크립트 OpenLayers.ProxyHost :

http://webhost:8080/app/proxy/?url=http://WFS_server/options/ ...

요청 중 일부는의를 얻는 것 등이 POST의 될 것입니다.

필자는 요청을 수신 한 다음 Servlet Filter를 작성한 다음 Commons HttpClient를 사용하여이를 'url'매개 변수로 지정된 호스트로 디스패치합니다.

모든 것이 작동하지만 POST의 'url'매개 변수 값을 가져 오는 데 어려움이 있습니다.

내가 일식에서 볼 수있는 javadoc에 따르면이 request.getRequestURI()해야하지만, 이것은 단지 내가 할 수있는 유일한 방법은 실제로 게시물의 값이 마이너스 (즉 http://webhost:8080/app/proxy/) url 매개 변수 값

을 반환 데이터를 얻으려면 request.toString() 메서드를 호출하고 url을 파싱해야합니다.

부두 6.1.11 서버에 배포 중이므로 부두 버그 일 수 있는지 또는이 세부 정보를 얻을 수있는 곳을 놓친 경우 궁금합니다.

답변

1

getRequestURI가 사용자에게 요청한 내용 (URI)을 제공하기 때문입니다.

귀하의 게시물에서 url 매개 변수는 URI의 일부가 아닙니다. Ergo, QED 등

그래서 간단히 말하자면 루틴을 작성하여 URL을 직접 작성해야합니다. 요청이 여기에 도움이되지 않습니다. url 매개 변수가 POST 본문에 전송

3

경우에 당신은 사용할 수 있습니다 : POST 당신은 각각의 매개 변수를 얻기 위해 아래에 비슷한 사용해야합니다

request.getParameter("url"); 
+0

이 접근 방식은 POST 및 GET 요청에 모두 적용됩니다. – mtpettyp

1

.

Map params = request.getParamterMap(); 
String value = (String) params.get("url");