ホームページ  >  記事  >  Java  >  JavaWebセッションの有効期限設定方法

JavaWebセッションの有効期限設定方法

高洛峰
高洛峰オリジナル
2017-01-21 16:29:151745ブラウズ

セッション有効期限の設定方法、具体的な方法は以下の通りです:

1. Javaコード 3058b7e6aef84cbe8fa24c27ca4be7ba

request.getSession().setMaxInactiveInterval(1800);/*秒为单位,1800= 60*30 即30分种*/

2. web.xml 5a58a6d689593d8342dddc3ffd35f209

<session-config>  <!--分钟为单位-->
  <session-timeout>30</session-timeout>
</session-config>

3。Web サーバーのresin.conf、tomcat、

<session-config>  <!--分钟为单位-->
  <session-timeout>30</session-timeout>
  <enable-url-rewriting>false</enable-url-rewriting>
</session-config>

優先度: 1 > 3 > 以降、Tomcat の再起動後は失敗しません。ブラウザを閉じると、セッションは無効になります

一般的なシステムでは、セッションが無効になった後にいくつかの操作を実行する必要がある場合があります:

(1) セッションが無効になったときのユーザー数を制御します。システム内の数値は 1 ずつ減らされるなど、ユーザーを制御します。システムのパフォーマンスを確保するために、数値は一定の範囲内にあります。

(2) セッションが有効な場合、同じユーザーがログインすると、ユーザーがログインしたことを示すプロンプトが表示されます。セッションが期限切れになると、プロンプトを表示せずに直接ログインできます。 。

それでは、セッションの有効期限が切れた後に一連の操作を実行するにはどうすればよいでしょうか?

ここではリスナーを使用する必要があります。つまり、さまざまな理由でセッションが失敗した場合、リスナーはそれを監視し、リスナーで定義されたプログラムを実行できます。

リスナークラスはHttpSessionListenerクラスで、sessionCreatedとsessionDestroyedの2つのメソッドがあります

このクラスを継承して個別に実装することができます。

SessionCreated は、セッションの作成時に実行されるメソッドを指します

SessionDestroyed は、セッションが失敗したときに実行されるメソッドを指します

次のように:

public class OnlineListener implements HttpSessionListener{  
   public void sessionCreated(HttpSessionEvent event) {  
      HttpSession ses = event.getSession();  
      String id=ses.getId()+ses.getCreationTime();  
      SummerConstant.UserMap.put(id, Boolean.TRUE);   //添加用户  
    }  
    public void sessionDestroyed(HttpSessionEvent event) {  
      HttpSession ses = event.getSession();  
      String id=ses.getId()+ses.getCreationTime();  
      synchronized (this) {  
        SummerConstant.USERNUM--;      //用户数减一  
        SummerConstant.UserMap.remove(id); //从用户组中移除掉,用户组为一个map  
     }  
    }  
 }

このリスナーを web.xml で宣言するだけです:

<listener>  
  <listener-class>com.demo.system.listener.OnlineListener</listener-class>  
</listener>

上記はセッションを使用してユーザー数を監視する簡単な方法ですが、実際のプロセスではこれよりもはるかに複雑になる可能性があります。

たとえば、ServletContextListener と HttpSessionListener の 2 つのインターフェイスを同時に実装したり、それらのメソッドを書き換えたりする必要があります。

上記は、編集者が紹介した JavaWeb セッションの有効期限の設定方法です。ご質問があれば、メッセージを残してください。編集者がすぐに返信します。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。

JavaWeb セッションの有効期限設定方法に関するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。