Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


6.18.3 URIのデコード機能を使用する場合の注意事項

ここでは,URIのデコード機能を使用する場合の注意事項について説明します。

〈この項の構成〉

(1) 文字列のデコードと正規化の実行順序

サーブレットパスとURLパターンのマッチングでは,デコードされたあとで正規化されたURIが使用されます。

コンテキストパスとコンテキストルートのマッチングでは,デコードされないで正規化されたURIが使用されます。

(2) リクエストの属性

フォワード時またはインクルード時にリクエストに追加される属性にも,デコードされた値が格納されるものがあります。フォワード時またはインクルード時にリクエストに設定される各属性について,格納される値がデコードされるかどうかを次の表に示します。

処理

属性

格納される値のデコードの実行

フォワード

javax.servlet.forward.request_uri

×

javax.servlet.forward.context_path

×

javax.servlet.forward.servlet_path

javax.servlet.forward.path_info

javax.servlet.forward.query_string

×

インクルード

javax.servlet.include.request_uri

×

javax.servlet.include.context_path

×

javax.servlet.include.servlet_path

javax.servlet.include.path_info

javax.servlet.include.query_string

×

(凡例)

○:デコードされる

×:デコードされない

各属性および各属性に格納される値については,サーブレット仕様書を参照してください。

(3) HTTPセッションの引き継ぎ

コンテキストパスはデコードされないで,元の文字列のまま扱われるため,HTTPセッションは引き継がれます。