セッションのより良い説明を見てみましょう。
セッションはセッションです。ブラウザを閉じることなくユーザー情報を保存できます。これは、これらの一時的なものを保存するための一時的なコンテナのようなものです。たとえば、ログインすると、ユーザー情報をあるWebページから別のWebページに保存すると、セッションを使用してユーザー情報を保存して、セッションを使用して実装できるWebサイトショッピングカートを保存できます。
セッションが必要な理由
これは、HTTPプロトコルの制限を埋めるためです。ユーザーがページにアクセスすると、サーバーはリクエストを返します(たとえば、Webページにアクセスした後、ページはページコンテンツとインターフェイスUIを提示します)。サーバーは、クライアント(ブラウザ)のタスクステータスを追跡しなくなりました。したがって、HTTPの各リクエストは独立しており、継続的ではありません。 HTTPは、Stateless Protocolとも呼ばれます。機会や特定のプロセスでユーザー自身のデータを操作したい場合は、非常に面倒で危険です。たとえば、URLパラメーター送信を介してサーバーと対話し、操作を実装できます。
セッションの出現はこの問題を解決します。セッションはサーバーで作成され、一定の期間後にサーバーによって破壊されます。この期間中、クライアントとサーバーの間のセッションが維持され、クライアントはサーバー上のセッション情報を使用してデータを見つけたり操作したりします。
セッションの使用方法
Java APIは、現在のセッションに関連するセッションを取得する方法のみを提供します。
httpsession session = request.getsession(); //またはhttpsession session = request.getSession(boolean);
値の設定:
session.setattribute( "key"、value object);
値を取得:
オブジェクトタイプobj =(オブジェクトタイプ)session.getAttribute( "key"); //たとえば、string name =(string)session.getattribute( "key");
セッションを削除して属性を指定します。
session.removeattribute( "key");
すべてのセッションをクリアして、現在のセッションを完全に無効にします。
session.invalidate();
セッションタイムアウト期間設定
1。Tomcatのインストール場所conf/web.xml:
<Session-Config> <Session-TimeOut> 30 </SESSION-TIMEOUT> </SESSION-CONFIG>
30ポイント
2。Tomcatインストール場所conf/server.xml:
<Context Path = "/test" docbase = "/test" defaultsessionTimeout = "3600" iswarexpanded = "true" iswarvalidated = "false" isInvokerEnabled = "true" isworkdirpersist = "false"/>
秒単位のユニット
3。Javaコード設定:
httpsession session = request.getsession(); session.setMaxinActiveInterval(1200);
0ポイント:
その他の指示:
1。セッションの有効期限ステータス:
1>。クライアントブラウザは閉じます:
2>。セッションセッションの有効期限が切れます。
3>。クライアントセッションは.invalidate()を呼び出します。
2.ブラウザが閉じていて、セッションがまだあるかどうか。
クライアントブラウザが閉じている場合、セッションは一定期間サーバー上に存在します。ただし、ブラウザが再度開くと、新しいセッションが生成されます。ブラウザは、生成されたSessionID属性を介してサーバーセッションと一致します。最後のセッションはまだそこにありますが、アクセスすることはできません。
3。<% @ページsession = "false"%>状況は何ですか?:
この文の意味は、現在セッションを使用できないことですが、ページセッションはまだ作成できます。
4。セッションが作成されるのはいつですか。
プログラムがhttpservletrequest.getSession(true)を呼び出すときに作成されました。ページが<%@ page session = "false"%>を使用していない場合、jspページがサーブレットにコンパイルされている場合、httpsession session = httpservletrequest.getsession(true);
要約します
上記は、Javaのセッションを理解することです。私はそれが誰にでも役立つことを願っています。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!