Java がセッション タイムアウト (有効期限) を設定する時間について詳しく説明します。

coldplay.xixi
リリース: 2021-02-19 17:37:28
転載
4102 人が閲覧しました

Java がセッション タイムアウト (有効期限) を設定する時間について詳しく説明します。

無料学習の推奨事項: java 基本チュートリアル

一般システムにログインした後、現在のセッションの無効化が行われます。ユーザーが長時間サーバーと対話しない場合に自動的にログアウトしてセッションを破棄する時間を設定する必要があります。
具体的な設定方法は 3 つあります。
1. Web コンテナーで設定します (Tomcat を次のようにします)。例)
tomcat -7.0\conf\web.xml では、tomcat7.0 のデフォルト設定は次のとおりです。

<session-config>
    <session-timeout>30</session-timeout>
</session-config>
ログイン後にコピー

tomcat のデフォルトのセッション タイムアウトは 30 分で、必要に応じて変更できます。負の数または 0 は、セッションの有効期限に制限がないことを意味します。

このセッションで設定された時間は、クライアントではなくサーバーに基づいて計算されることに注意してください。したがって、プログラムをデバッグしている場合は、クライアントではなく、テスト用にサーバー側の時間を変更する必要があります

2。プロジェクトの web.xml で

<!--时间单位为分钟-->
<session-config>
    <session-timeout>15</session-timeout>
</session-config>
ログイン後にコピー

を設定します。ここでの 15 は、次のことを意味します。

3.

session.setMaxInactiveInterval(30*60);//以秒为单位,即在没有活动30分钟后,session将失效
ログイン後にコピー

Java コードを使用して 3 つの優先レベルを設定します: 1 < 2 < 3

一般的なシステムでは、セッションの有効期限が切れた後に優先度を設定する必要があります。いくつかの操作を実行します:
1. ユーザー数を制御します。セッションが失敗すると、システム内のユーザー数が 1 つ減ります。セッション内のユーザー数を制御します。
2. ユーザーの複数回ログインを制御する セッションが有効な場合、同じユーザーがログインすると、ログイン済みであることを示すプロンプトが表示されます。有効期限が切れた場合は、別のプロンプトを使用して直接ログインできます。
では、セッションの有効期限が切れた後に一連の操作を実行するにはどうすればよいでしょうか?
ここではリスナーを使用する必要があります。つまり、さまざまな理由でセッションが失敗したときに、リスナーはリスナーをリッスンして、リスナー内に定義されたプログラムを実行できます。
リスナー クラスは次のとおりです: HttpSessionListener クラスには 2 つありますsessionCreated メソッドと sessionDestroyed メソッドです。
このクラスを継承して、それぞれ実装できます。
sessionCreated は、セッションの作成時に実行されるメソッドを指します。
sessionDestroyed は、セッションが失敗したときに実行されるメソッドを指します。
例:

public class OnlineUserListener implements HttpSessionListener{
    public void sessionCreated(HttpSessionEvent event){
        HttpSession session=event.getSession;
        String id=session.getId()+session.getCreationTime();
        SummerConstant.UserMap.put(id,Boolean.TRUE);//添加用户
    }
    
    public void sessionDestroyed(HttpSessionEvent event){
        HttpSession session=event.getSession;
        String id=session.getId()+session.getCreationTime();
        synchronized(this){
            SummerConstant.USERNum--;//用户数减-
            SummerConstant.UserMap.remove(id);//从用户组中移除掉,用户组为一个map
        }
    }
}
ログイン後にコピー

その後、web.xmlでリスナーを宣言するだけで済みます


    com.demo.OnlineUserListener

関連学習の推奨事項: Java Base

以上がJava がセッション タイムアウト (有効期限) を設定する時間について詳しく説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!