2009-04-22 18 views
2

私はアプリケーションをJettyで実行しています。絶対参照URLを返すようにアプリケーションを設定してください(RSSフィードを生成するとき、クライアントは「現在のURL」コンテキスト)。アプリケーションサーバーで実際の(仮想)ホスト名を取得する

問題は、アプリケーションをデプロイするホスト名を事前に知っておらず、いくつかのホスト名が同じホスト名にマップされている仮想ホスティング環境にデプロイされる可能性が高いことですIPアドレス。私はHttpServletRequest.getLocalName()を使用しようとしましたが、クライアントが指定したURLからのホスト名ではなく、要求が受信されたIPアドレス(通常はローカルホストファイルに設定されているもの)の解決されたホスト名[1] HTTPリクエスト

基本的に私はCGIで環境変数SERVER_NAMEを取得したいのですが、Java APIがこれを提供するようには見えません。どんな助けもありがとう。

[1]私が運が良ければ - セットアップによってはIPアドレスだけが返されます。

答えて

3

ServletRequest.getServerName()を使用して、 "Host"ヘッダーから仮想ホスト名を取得します。これは、CGIのSERVER_NAME変数に相当します。

+0

ありがとう:-)(これは私のちょっとばかげた - 私はこれを知っていたはずです) – Guss

関連する問題