Presentation is loading. Please wait.

Presentation is loading. Please wait.

Javaによる Webアプリケーション入門 第9回

Similar presentations


Presentation on theme: "Javaによる Webアプリケーション入門 第9回"— Presentation transcript:

1 Javaによる Webアプリケーション入門 第9回
セッション管理 Javaによる Webアプリケーション入門 第9回

2 ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。

3 セッションとは何か 次の一連の流れのこと WebブラウザとWebサーバが接続される Webブラウザが要求を出す Webサーバが応答を返す
接続を切る

4 セッション管理 あるセッションと別のセッションとは無関係 ところが、セッション同士を関係付けたい場合もある
例えばショッピングサイトで、商品Aと商品Bを同じ人が一緒に購入したい場合 セッションをひとまとめにする仕組みが「セッション管理」

5 セッションID Webサーバは、セッション管理が必要になる時点で、Webブラウザに「セッションID」を発行する。
Cookie と URL Rewriting

6 Cookie Webブラウザ側のコンピュータにテキストファイルとして保存 (保存しない場合もある)
セッションID のほか、関連するさまざまな情報を含めることができる。ただしテキストベース。 Cookie を使えない場合もある Webブラウザ側でCookie を受入を拒否できる 携帯電話のブラウザ

7 URL Rewriting Cookie が使えないときに用いられる セッションID をURLに含めて渡す
<a href=“/select?id=12345>購入</a> クリックすると “/select?id=12345” が要求となる セッションIDが露出しているので、セキュリティ上問題がある。

8 HttpSession (1) Java で セッション管理を行うためのインタフェース HttpSession の取得
HttpSession session = request.getSession(); HttpSession が無い場合には新しく生成。このとき、セッションIDも生成 HttpSession にオブジェクトを登録 session.setAttribute(“bookList”, list);

9 HttpSession (2) HttpSession からオブジェクトを取得 HttpSession からオブジェクトを削除
List list = session.getAttribute(“bookList”); HttpSession からオブジェクトを削除 session.removeAttribute(“bookList”); HttpSession を終了 session.invalidate();

10 HttpSession による セッションIDの受け渡し
普段は Cookie を使う セッションIDだけが Cookie に含まれる。他の情報はサーバ側に。 Cookie が使えない場合、URLRewriting response.encodeURL(" Cookie を利用する場合は、そのまま URLRewriting の場合は セッションIDを自動的に付加

11 セッションタイムアウトの処理 HttpSession には有効期間がある HttpSession を使いまわす場合
デフォルトでは30分間アクセスがないと廃棄される HttpSession を使いまわす場合 新規に作成するのは最初の1回だけにしておく。 途中でタイムアウトが起きるといろいろ面倒だから。 HttpSession session = request.getSession(false);


Download ppt "Javaによる Webアプリケーション入門 第9回"

Similar presentations


Ads by Google