0

一致するすべての HTTP リクエストに対してメソッドを呼び出すことができるかどうかを知りたいです。

私の場合: http ヘッダーで地理位置情報データを送信する必要があり、リクエストを送信すると、定義された操作と一致し、同時に地理位置情報が更新されます。

各クラスの各メソッドのメソッド呼び出しを簡単に複製できますが、この問題を解決するためのより適切な方法を見つけたいと思います。

読んでくれてありがとう。

4

1 に答える 1

1

あなたが探しているのは、Jersey ResponseFilter です。以下は、すべての発信リクエストに静的ヘッダーを追加する非常に簡単な例です。

package my.package;

import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerResponse;
import com.sun.jersey.spi.container.ContainerResponseFilter;

public class SimpleFilter implements ContainerResponseFilter
{
  private static final String HEADER = "MyHeader";

  public SimpleFilter()
  {
  }

  @Override
  public ContainerResponse filter(final ContainerRequest request, final ContainerResponse response)
  {
    response.getHttpHeaders().add(HEADER, "MyValue");
    return response;
  }
}

requestメソッドのおよびresponseパラメータを介して、さまざまな情報にアクセスできますfilter

フィルターを有効にするには、web.xml ファイルを介してフィルターを追加する必要があります。

<init-param>
  <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
  <param-value>my.package.SimpleFilter</param-value>
</init-param>
于 2013-07-03T21:43:35.977 に答える