次のように、localhost 経由でサーバーの名前を取得できます。
String hostname = InetAddress.getLocalHost().getHostName();
アップデート
上記は、それが実行されているサーバーの名前を返すため、Web サービス ホストの名前になります。
Web サービスの前にサーバーの名前が必要な場合は、リクエストから取得できます。
String hostname = request.getRemoteHost();
トリックを行う必要があります。リモート ホスト名は、ソケット クライアントが接続を確立するために使用したものであることに注意してください。これは DNS 名である必要はありません。DNS 名が必要な場合は、次を使用できます。
String hostname = InetAddress.getByName(request.getRemoteAddr()).getHostName();
更新 2
サーバー (解決策 1) または転送プロキシ (解決策 2) に関連するものではなく、一種の論理クラスター名に関連するものである場合は、web.xml でコンテキスト パラメーターとして定義できます。
<context-param>
<param-name>clustername</param-name>
<param-value>OurPrettyCluster</param-value>
</context-param>
サーブレットでそれを読んでください:
ServletContext context = getServletContext();
String clustername = context.getInitParameter("clustername");
これも役に立たない場合は、質問を更新してクラスター構成を説明する必要があります。これは、与えられた情報ではそれ以上のことができないためです。