クッキー&セッション
会話
セッション:セッションは、複数の要求と応答を含み、
機能:もう一度、データ共有セッションのためのより多くの要求との間の範囲
方法:クライアントの絵画技法:クッキー
サーバー側の絵画技法:セッション
クッキーの特徴と役割
クッキーデータは、クライアントのブラウザに保存されています
4キロバイトでサイズ制限のためにクッキーをブラウザ、同じドメインクッキー下の数を超えない20
クッキーは、一般的に少量ずに機密データを格納するために使用します
サーバーへのログインがない場合には、クライアントの識別を完了するために
操作クッキー
新しいクッキー(文字列名、文字列値):1。Cookieオブジェクトを作成します。
2.ブラウザにCookieオブジェクトを送信:response.addCookie(クッキークッキー)
3.获取クッキー:クッキー[] request.getCookies()
保護された 空のdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスローServletExceptionが、IOExceptionが{ // 创建クッキー クッキークッキー= 新しいクッキーを( "クール"、 "こんにちは" ); // 发送クッキー response.addCookie(クッキー); }
保護された 空のdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスローServletExceptionが、IOExceptionが{ // 取得クッキー クッキー[] =クッキーrequest.getCookies(); // クッキーのデータによる IF(=クッキー!のヌル){ のために(Cクッキー:クッキー ){ // クッキー値のペアが上を通過取得 文字列名= c.getName(); 文字列値 = c.getValue(); System.out.printlnは(名 + ":" +の値); } } }
クッキーのその他の知識
1. 1は、クッキーは、複数のオブジェクトを作成することができ、複数のクッキーを送信することができ、何回ものaddCookie方法は、クッキー応答コールを送信するために使用することができます。
2.デフォルトでは、ブラウザを閉じたときに、クッキーのデータが破壊されます
永続ストレージsetMaxAge(int型秒)で完了
正:クッキーデータはハードディスクファイルに書き込まれます。永続ストレージ。そして時間後にクッキーの生存期間を指定し、クッキーファイルは自動的に消滅
デフォルト値:マイナス
ゼロのを:クッキー情報を削除します。
必要に応じて、以前に中国のデータのトランスコードをサポートしていないTomcatの8後3.Cookieサポート中国、
同じTomcatサーバーのデフォルトのクッキーにより、4を共有することはできません
SETPATH(文字列のパス)によって:クッキーの取得範囲を設定します。デフォルトでは、現在の仮想ディレクトリを設定します
あなたが共有したい場合は、「/」にパスを設定することができます
異なるTomcatサーバー間
setDomain(文字列のパス)によって:あなたは、同一のドメイン名を設定した場合、クッキーが複数のサーバ間で共有することができます
セッション機能やクッキーとの違い
本発明では、セッション要求内で複数回サーバ側セッションデータを格納します
セッションは、任意のサイズの任意のタイプのデータを格納することができます
セッションとクッキーの違い
サーバー側に保存されている1セッションデータ、クッキークライアント
ないデータサイズの制限2.セッション、クッキーが
安全でない3.セッション・データ・セキュリティ、クッキーについて
セッションの操作
1.获取HttpSessionの对象:
HttpSessionのセッション=でrequest.getSession();
2.使用HttpSessionの对象:
オブジェクトのgetAttribute(文字列名)
のボイドのsetAttribute(文字列名、オブジェクト値)
のボイドremoveAttribute(文字列名)
保護された ボイド doPostメソッドは、(HttpServletRequestのリクエスト、HttpServletResponseの応答)スロー{ServletExceptionが、IOExceptionが HttpSessionのセッション = でrequest.getSession(); session.setAttribute( "HH"、 "hhhhhhh" ); }
保護された ボイド doPostメソッドは、(HttpServletRequestのリクエスト、HttpServletResponseの応答)スロー{ServletExceptionが、IOExceptionが HttpSessionのセッション = でrequest.getSession(); オブジェクトHHHH = session.getAttribute( "HH" )。 System.out.println(HHHH)。 }
セッションの他の知識
クライアントが閉じているときは1、サーバーは二度同じかどうかのセッションを取得、シャットダウンしませんか?
デフォルトでは。いいえ。
あなたが同じが必要な場合は、クッキーを作成することができ、キーはJSESSIONIDで、保存クッキーの永続性のための最大生存時間を設定します。
保護された ボイド doPostメソッドは、(HttpServletRequestのリクエスト、HttpServletResponseの応答)スロー{ServletExceptionが、IOExceptionが HttpSessionのセッション = でrequest.getSession(); クッキーC = 新しいクッキー( "JSESSIONID" 、session.getId()); c.setMaxAge( 60 * 60 )。 response.addCookie(C); }
2.クライアントは、セッションが二度同じ権利を取得することで、サーバーをシャットダウンし、シャットダウンされていませんか?
同じではありませんが、データが失われないことを確実にします。Tomcatは自動的に次のことを実現する
セッションを不動態化:
サーバーは通常、ハードディスク上のセッションオブジェクトのシリアル化の前に閉じている
:セッションのアクティブ化
サーバを起動した後、メモリ内のセッションオブジェクトへのセッションのファイル変換。
3.セッションが破棄されるのはいつですか?
サーバーが閉じ
無効()を呼び出すためにセッションオブジェクトを
30分のセッションのデフォルトの有効期限を