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

Slides:



Advertisements
Similar presentations
セッション管理 ソフトウェア特論 第 8 回. ここでの内容 セッション管理の基本を知る。 HttpSession の使い方を知る。
Advertisements

1 実技演習1 2008/01/28,29 JaLTER Morpho 講習会. 2 起動・接続 各自、コンピュータを起動してネットワーク に接続してください。 各自、コンピュータを起動してネットワーク に接続してください。 IP アドレス自動取得 IP アドレス自動取得 無線 LAN 使用可 無線.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
電子社会設計論 第12回 Electronic social design theory 中 貴俊.
IIS 4.0で開発をするコツ Webアプリケーション構築.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
スクリーンショットの取り方 コラボエンドポイントスクリーンショットの取得 シスコシステムズ合同会社 テクニカルソリューションズアーキテクト
ブラウザの基本操作 前のページに戻る ブラウザの左上にある 「戻る」ボタンで、自分がたどってきた一つ前のページに戻ることができます。
第2章 ネットサービスとその仕組み(前編) [近代科学社刊]
WebサービスII (第10回) 2007年11月28日 植田龍男.
エンタープライズアプリケーション II 第10回 / 2006年7月23日
GoNET 福岡市公衆無線LANサービス比較資料
ちょっと気になること メディアコミュニケーション論Ⅲ 第14回.
frSIP UC Platform オートプロビジョニングの仕組み
JavaServlet&JSP入門 01K0018 中村太一.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
Vulnerability of Cross-Site Scripting
タグライブラリ ソフトウェア特論 第6回.
Web App Semi 2008 #1 Web App Semi 2008 #1.
“所有”から“利用”へ 情報社会とコンピュータ 第12回.
セッション管理 J2EE I 第9回 /
HTTPプロトコルとJSP (1) データベース論 第3回.
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
JavaBeans とJSP データベース論 第5回.
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
JSFによるWebアプリケーション開発 第6回
HTTPプロトコル J2EE I 第7回 /
ユースケース図2-4~ FM11012 中島拓也.
Day3 Day4 Day3 Day4.
ファイアウォール 基礎教育 (1日目).
チュートリアル WebExオンライン講習会 ご参加の手順
マイクロソフト Access を使ってみよう 第1回
ネットワークプログラミング論 平成28年12月12日 森田 彦.
利用者を識別するWebアプリ を作ろう! 2004年6月10日 武田林太郎.
CiNIIほかに関連語提示機能を ~つっこみの第二回~
ファイアウォール 基礎教育 (2日目).
Javaによる Webアプリケーション入門 第5回
15.同時実行制御,トランザクション, データベースの回復
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
メールの利用1 Webメールの利用方法.
JDBC J2EE I 第4回 /
Webアプリケーションの方向性 データベース論 第13回.
Javaによる Webアプリケーション入門 第6回
JDBC データベース論 第12回.
インターネットにおける真に プライベートなネットワークの構築
Javaによる Webアプリケーション入門 第7回
すぐできるBOOK -基本設定編-.
Jakarta Struts (2) ソフトウェア特論 第11回.
物履歴に基づいた ユーザプロファイリング機構の構築
Javaによる Webアプリケーション入門 第11回
ファイルのアップロード HTMLファイルをWebサーバにアップロード 名商大のWebサーバ(opinion.nucba.ac.jp)
コンピュータ プレゼンテーション.
JDBC J2EE I (データベース論) 第5回 /
JSFによるWebアプリケーション開発 第3回
Minecraft: Education Edition インターネット経由で共同活動する方法 HW-02G編
JDBC ソフトウェア特論 第3回.
コンピュータにログイン 第1章 コンピュータにログイン 啓林館 情報A最新版 (p.6-13)
情報処理基礎A・B 坂口利裕 横浜市立大学・商学部
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Javaによる Webアプリケーション入門 第4回
コレクション・フレームワーク J2EE I (データベース論) 第6回 /
コレクション・フレームワーク データベース論 第7回.
リレーショナル・データベース J2EE I (データベース論) 第2回 /
Jakarta Struts (1) ソフトウェア特論 第10回.
ホームページを見ているだけで情報が通知される? ~Cookie編~
MVCモデル2による Webアプリケーション
タイマを開始するには、[スライド ショー] メニューの [実行] をクリックします。
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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