セッション属性

サーバと各ユーザのやりとりを、セッションIDによって紐づけ管理することで、個ユーザごとでデータ管理できるような仕組みをセッションと呼ぶ
アプリケーションサーバにセッションIDを保存しておき、ユーザに対してはクッキーにセッションID情報を載せて送信しておくことでその紐づけを可能にしている

・セッションの寿命
セッションは通常時間で管理されており、規定の時間を経過すると
セッションタイムアウトの状態となり、情報が消えてしまう
タイムアウトまでの時間はweb.xml内にて設定できる
このとき”-1”を指定するとタイムアウトを無効にすることができる

<!--      web.xmlでのセッションタイムアウト設定    --><web-app>

    <session-config>
        <session-timeout> 分単位の時間 </session-timeout>
    </session-config>
    
</web-app>

・セッションを扱うAPI
javax.servlet.HttpSessionインタフェースを用いて以下のメソッドで
セッションの操作を行う
 -HttpSession getSession()
request.getSession(); セッションを開始(インスタンス生成)したり、既に開始されている場合は既存のインスタンスを取得する
 -String getId()
セッションIDを取得する
 -void setAttribute(String name, Object object)
nameという名目でobjectデータをセッションに設定(保存?)する
 -Object getAttribute(String name)
nameという名目で保存されているセッションのobjectデータを取得する
実際に使用する際にはキャストして使用することが多い
該当するデータが無ければnullを返す
 -void removeAttribute(String name)
nameのセッションを削除する 一部セッションを終了するだけならこれ
 -void invalidate()
全てのセッションを削除して、セッションを終了する