0

ブラウザの制限により、openlayers マップを機能させるにはプロキシを使用する必要があります。

OpenLayers.ProxyHost JavaScript オブジェクトは、次のような URL の生成を処理します。

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

リクエストには GET のものもあれば、POST のものもあります。

リクエストを受信し、コモンズ HttpClient を使用して「url」パラメーターで指定されたホストにディスパッチするサーブレット フィルターを作成しました。

GET ではすべてが機能しますが、POST の「url」パラメータ値を取得するのに苦労しています。

javadoc によると、Eclipse で表示されるのは 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 に答える