2016-02-23 2 views
1

Если кеш браузера очищен, текущий сеанс не будет использоваться, и будет создан новый сеанс. Но в соответствии с моей ситуацией, когда сеанс не используется, я хочу вызвать метод java.Я хочу вызвать метод java, когда сеанс очищается?

Мои цели - это когда кеш браузера очищен, старый сеанс остается неиспользуемым и создается новый сеанс до того, как я хочу вызвать метод.

Есть ли способ сделать это или мой образ мышления неправильный, пожалуйста, исправьте меня.

Не так же, как Как вызвать метод до объекта сеанса уничтожен? этот вопрос, потому что там, после таймаута, этот сеанс разрушается, но в моей ситуации сеанс не уничтожается ни одним сервером приложений. Сессия остается неиспользованной из-за прозрачного кеша браузера.

+2

Очистка кеша браузера не означает, что сеанс сервера немедленно уничтожается – wero

ответ

0

В Java, мы обычно делаем это с помощью прослушивателя, в этом случае javax.servlet.http.HttpSessionListener проверить событие sessionDestroyed и sessionCreated:

package com.mkyong; 

import javax.servlet.http.HttpSessionEvent; 
import javax.servlet.http.HttpSessionListener; 

public class SessionCounterListener implements HttpSessionListener { 

    private static int totalActiveSessions; 

    public static int getTotalActiveSession(){ 
     return totalActiveSessions; 
    } 

    @Override 
    public void sessionCreated(HttpSessionEvent arg0) { 
     totalActiveSessions++; 
     System.out.println("sessionCreated - add one session into counter"); 
    } 

    @Override 
    public void sessionDestroyed(HttpSessionEvent arg0) { 
     totalActiveSessions--; 
     System.out.println("sessionDestroyed - deduct one session from counter"); 
    } 
} 

После создания класса, вам нужно добавить класс слушателя в web.xml:

<web-app ...> 
    <listener> 
     <listener-class>com.mkyong.SessionCounterListener</listener-class> 
    </listener> 
</web-app> 

Все это ссылается на объяснения, которые я получил здесь здесь: Mkyong - A simple HttpSessionListener example

Смежные вопросы