0

由于浏览器限制,我需要使用代理来使 openlayers 地图工作。

OpenLayers.ProxyHost javascript 对象处理 URL 的生成,例如:

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

一些请求将是 GET,而其他请求将是 POST。

我编写了一个 Servlet 过滤器,它将接收请求,然后使用公共 HttpClient 将其分派到“url”参数指定的主机。

一切都适用于 GET,但我在获取 POST 的“url”参数值时遇到了困难。

根据我在 Eclipse 中看到的 javadoc,它应该是 request.getRequestURI() 但这只是返回帖子的值减去 url 参数值(即http://webhost:8080/app/proxy/

事实上,我可以获得数据的唯一方法是调用 request.toString() 方法并解析出 url。

我正在部署到 Jetty 6.1.11 服务器,所以我想知道这是否可能是一个 Jetty 错误,或者我是否遗漏了从哪里获取此详细信息的内容?

4

3 回答 3

3

如果 url 参数在 POST 正文中发送,您可以使用:

request.getParameter( "url" );
于 2009-05-16T00:30:56.500 回答
1

这是因为 getRequestURI 提供的正是您所要求的——URI。

在您的帖子中, url 参数不是 URI 的一部分。尔格、QED 等

因此,简单地说,您需要编写一个例程来构建您自己的 URL。该请求不会在这里为您提供帮助。

于 2009-05-16T00:26:34.687 回答
1

对于 POST,您需要使用类似于下面的内容来获取各个参数。

Map params = request.getParamterMap();
String value = (String) params.get("url");
于 2009-05-16T00:40:20.953 回答