Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)

[目次][用語][索引][前へ][次へ]

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

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

<この項の構成>
(1) 文字列のデコードと正規化の実行順序
(2) リクエストの属性
(3) HTTPセッションの引き継ぎ

(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セッションは引き継がれます。