9.4.2 サーブレット実装時の注意事項
サーブレットを実装するときの注意事項を示します。
- 〈この項の構成〉
(1) ゲートウェイ指定機能を使用する場合の注意
Webコンテナにゲートウェイ情報を通知し,welcomeファイルやFORM認証画面に正しくリダイレクトするゲートウェイ指定機能を使用できます。ゲートウェイ指定機能については,「5.10 Webコンテナへのゲートウェイ情報の通知」を参照してください。
ゲートウェイ指定機能を使用する場合,一部のサーブレットAPIの動作が変わります。ゲートウェイ指定機能使用時のサーブレットAPIの注意事項を,使用するメソッドごとに示します。
-
javax.servlet.http.HttpServletResponseクラスのsendRedirectメソッド
引数に相対URLを指定し,Hostヘッダのないリクエストの場合,リダイレクト先URLのホスト名とポート番号は,ゲートウェイ指定機能で指定した値となります。引数に相対URLを指定し,ゲートウェイ指定機能でスキームをhttpsと見なすように設定した場合,リダイレクト先URLのスキームは常に「https」となります。
-
javax.servlet.ServletRequestインタフェースのgetRequestURLメソッド
ゲートウェイ指定機能でスキームをhttpsと見なすように設定した場合,戻り値は常に「https://」で始まるURLとなります。
-
javax.servlet.ServletRequestインタフェースのgetServerNameメソッド
ゲートウェイ指定機能でリダイレクト先URLのホスト名を指定し,リクエストにHostヘッダがない場合,戻り値は指定した値となります。
-
javax.servlet.ServletRequestインタフェースのgetServerPortメソッド
ゲートウェイ指定機能でリダイレクト先URLのポート番号を指定し,リクエストにHostヘッダがない場合,戻り値は指定した値となります。ゲートウェイ指定機能でリダイレクト先URLのホスト名を指定し,ポート番号を省略した場合,戻り値はリクエストのスキームがhttpであれば「80」,httpsであれば「443」となります。
-
javax.servlet.ServletRequestインタフェースのgetSchemeメソッド
ゲートウェイ指定機能でスキームをhttpsと見なすように設定した場合,戻り値は常に「https」となります。
-
javax.servlet.ServletRequestインタフェースのisSecureメソッド
ゲートウェイ指定機能でスキームをhttpsと見なすように設定した場合,戻り値は常に「true」となります。
-
javax.servlet.ServletRequestインタフェースのgetAttributeメソッド
ゲートウェイ指定機能でスキームをhttpsと見なすように設定した場合でも,次の属性は取得できません。
-
javax.servlet.request.cipher_suite(WebサーバにMicrosoft IISを使用している場合は,ゲートウェイ指定機能の使用に関係なく取得できません)
-
javax.servlet.request.key_size
-
javax.servlet.request.X509Certificate
-