2011-12-14 17 views
2

私はいくつかの古いJSPアプリケーションで作業しており、サーバーを移動しているためURLが変更されています。 http://example.com:8686/theappgetServletContext()。getInitParameter( "contextName")はURLにポート番号を返しません。

この行getServletContext().getInitParameter("contextName")は、example:8686/の代わりにexample/を返します。

ポート番号がURLに表示されるように、使用できるのと同じ機能やパラメータがありますか?

+2

getServle tContext()。getInitParameter()は、web.xmlファイルのinit-param属性に書き込んだ値を返します。必要なものに変更して、新しい値を返します。 –

答えて

5

は、指定した名前の<context-param>の値をweb.xmlに指定して返します。これは動的な価値ではありません。 「正しい」値を提供するには、基本的に問題の<context-param>を編集する必要があります。

動的に現在のHTTPサーブレットリクエストのポート番号を取得するには、あなたは正確にあなたが取得したいのですがどのポート数に応じて、代わりにHttpServletRequest#getServerPort()またはHttpServletRequest#getLocalPort()を使用する必要があります:Hostヘッダに指定されたように、1つ、または1つをサーバーが実際に使用しています。

通常、コンテキスト名を取得するにはHttpServletRequest#getContextPath()を使用します。

+0

私はこれを書いた直後に考え出しました。私はweb.xmlファイルを調べました。情報をありがとう。 – Catfish

関連する問題