1

現在、Java と Jersey 1.17 を使用して Web サービスを作成しています。ただし、すべての応答ヘッダーで、使用している Web コンテナーの現在のバージョンを常に取得します。

Content-Type -> application/json
Server -> Jetty(8.1.10.v20130312)
Transfer-Encoding -> chunked

ジャージーで、レスポンスを作成せずにデフォルトでレスポンスヘッダーから「サーバー」キー値を削除し、手動で削除してから返す方法はありますか?

どんな助けでも大歓迎です!

4

3 に答える 3

3

jersey がこの機能を提供するとは思いませんが、Servlet Response Filter を作成することでこれを実現できます。

サーブレット フィルターの詳細については、http: //punekaramit.wordpress.com/2010/03/16/intercepting-http-response-using-servlet-filter/をご覧ください。

または、Oracle ドキュメントをお読みください: http://www.oracle.com/technetwork/java/filters-137243.html

于 2013-08-14T09:43:26.270 に答える
0

Javaでリクエストとレスポンスのフィルタリングを使用する方法のチュートリアルを次に示します。Java EE 5 チュートリアル

HttpServletResponse.setHeader(java.lang.String name, java.lang.String value) を使用して、必要なヘッダーを設定できます。

よろしく、エフゲニー

于 2013-08-14T12:12:00.670 に答える
0

このようなフィルターの作成は非常に簡単です。

public class ServerHeaderFilter implements ContainerResponseFilter
{
  private static final String SERVERHEADER = "Server";

  @Override
  public ContainerResponse filter(final ContainerRequest request, final ContainerResponse response)
  {
    response.getHttpHeaders().remove(SERVERHEADER);
    return response;
  }
}
于 2013-08-14T18:01:15.043 に答える