Technology

[Java / servlet] セッションスコープとは

2020-12-25

セッションスコープについて、理解を整理。

以前はそもそもセッションやセッション管理とはなんなのかについてまとめた。


セッションスコープとは

同じユーザーがサーバにリクエストを複数回した際も、セッションが続く限りはデータが保持されるが、このデータが保持されているまでの範囲をセッションスコープという。


例えば?

Aさんが買い物サイトで買い物する例を見てみる。

  1. アマゾンのカバンのページを見る
  2. カバンを買い物カゴに入れる。
  3. 他のページのリンクをクリック
  4. 帽子のページが現れる
  5. 帽子を買い物カゴに入れる。
  6. カバンと帽子の決済をする

6の決済をするまでに、買い物カートに入れたカバンと帽子の情報はずっと保存されている必要がある。

帽子のページをサーバにリクエストした時点で、買い物カゴに入っていたカバンの情報が消えてしまっては、複数の商品を購入することができない。

このデータが保持されている期間がセッションスコープとなる。


セッションスコープの利用の流れ

セッションスコープの利用の流れを見ていく。


セッションの開始

HttpSession session = request.getSession();

セッションを開始する。


セッションスコープにデータを保存

session.setAttribute("属性名",インスタンス)


セッションスコープからインスタンスを取得

取得するインスタンスの型 名前 =
(取得するインスタンスの型) session.getAttribute("属性名")


セッションスコープ内のインスタンスを削除

session.removeAttribute("属性名")

-Technology