Javaでsessionの使い方がわからない

タイトルのとおり、Javaでsessionの使い方がわかりません。

この前会社でつかったんだけど、完全に雰囲気で使ってます。バグがあっても修正できる自信がない。なので勉強する。まずは今の認識は次のとおり。

  • サーブレット側で管理する一時的なデータのこと。
  • どこかで生成して、どこかでデータを詰めている。
  • 何かの単位でsessionを作成と削除(クリア)している。
  • 単位としてはこれまで聞いている話からユーザー単位でsessionを持っているパターンが多いのかな。逆にそれ以外聞いたことがない。
  • けど、SpringBootでsession作ってみたら、ユーザー単位でなくてもsession情報って持てるんじゃないの?っていう疑問が湧いた。

上記で書いていて思ったけど、sessionの使い方が分からないの前に概念が分かっていないですね。なんでデータベースからデータを持ってこないでsessionに詰めて使用するのか、その方が効率的だから?でもデータベースを誰かが更新したら不整合が起きるのでは?

sessionってどういうもので、使うと何が嬉しいのか。ググってきます。

少しググってキーワードを拾ってきました。

  • HttpSession
  • setAttribute/getAttribute
  • getRequestDispatcher
  • getSession
  • getRequestURI
  • getParameterValues/getParameter

これらを調査して、ログイン認証できるサンプルアプリを実際に手を動かして作ってみたらマスター出来る気がします。後日、やってみて追記します。

Let's share SNS