この記事では、Java でセッションの有効期限を設定する実装方法を説明し、参考として共有します。具体的な実装方法は以下の通りです。
1. デプロイメント記述子 (web.xml) のタイムアウト
数分で
次のようにコードをコピーします: <web-app ...>
<セッション構成>
<セッションタイムアウト>20</セッションタイムアウト>
</セッション構成>
</web-app>
上記の設定は、Web アプリケーション全体に有効になります。クライアントが 20 分以内にリクエストを開始しない場合、コンテナはセッションを強制終了します。
2. setMaxInactiveInterval() によるタイムアウト
エンコードによる特定のセッションの有効期限を秒単位で指定します。例えば:
次のようにコードをコピーします。 HttpSession session = request.getSession();
session.setMaxInactiveInterval(20*60);
上記の設定は、「setMaxInactiveInterval()」メソッドを呼び出すセッションにのみ適用され、クライアントが 20 分後にリクエストを行わない場合、セッションはコンテナーによって強制終了されます。
思い…。
これは少し混乱します。デプロイメント記述子 (web.xml) の値は「分」単位ですが、setMaxInactiveInterval() メソッドは「秒」単位の値を受け入れるため、将来のリリースでは両方の関数が同期する必要があります。
3. プログラム内で定義します。単位は秒で、期限切れにならないように -1 に設定します。サンプル コードは次のとおりです。
次のようにコードをコピーします。 session.setMaxInactiveInterval(30*60);
効果を生み出すためのセッション設定の優先順位は、最初にプログラム、次に構成、最初にローカル、次に全体です。
この記事が皆さんの Java プログラミングに役立つことを願っています。