セション管理を利用することで、同一のWebブラウザからの複数回のリクエストを、サーブレットで同一のWebブラウザからのアクセスとして処理することができます。
この機能を利用することで、サーブレットで前回の処理結果を引き継ぐことができ、継続的な処理が可能となります。
セション管理を利用したショッピングの例を示します。
セション管理を利用することで、複数の商品をショッピングカートに入れ、まとめて精算ができるようになります。
セション管理は、HttpSessionインタフェースを使用します。
セションの生成/取得には、getSessionメソッドを使用します。
また、セションへの情報の設定/取得は、setAttributeメソッドとgetAttributeメソッドを使用します。
セションは、encodeURLメソッドによりURLパラメタに埋め込まれるIDで管理されます。
Cookieを使用しないクライアントや、運用環境でCookieを使用しない場合に対応するため、encodeURLメソッドを使用してアプリケーションを作成しておくことを推奨します。
注意
セションタイムアウトの発生後に処理を継続した場合、新規のセションが確立されます。
セションIDの一意性の範囲、桁数はServletサービスの実装により異なる可能性があります。セションIDをセション識別以外の目的で使用しないようにしてください。
Cookieによるセション管理はServletコンテナにより自動で行われます。
アプリケーションでセション管理用Cookieの追加などの操作は行わないでください。
セション継続やセキュリティ上の問題が発生する場合があります。