получить время выхода без выхода - PullRequest
0 голосов
/ 22 марта 2012

как я могу увидеть время выхода из системы, когда пользователь закрывает браузер без выхода из системы?

Итак, я реализовал HttpSessionBindingListener взятый из здесь и добавил Listener in web.xml, но время выхода не вставляетсяв базу данных после закрытия браузера.Любое предложение, пожалуйста, где я не прав?

logout.jsp

 <%
    ObjectWillBeInSession owi = new ObjectWillBeInSession();
    owi.setProperty1("I am a value for Property1");
    owi.setProperty2("I am a value for Property2");
    //this will call HttpSessionBindingListener's 
    //valueBound method for the object
    session.setAttribute("owi", owi);

    //this will call HttpSessionBindingListener's 
    //valueUnbound method for the object
    session.removeAttribute("owi");   
        //INSERT INTO DB.......BUT IT IS NOT WORKING
 %>

Ответы [ 2 ]

1 голос
/ 22 марта 2012

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

0 голосов
/ 22 марта 2012

Вы можете использовать JavaScript window.onbeforeunload, чтобы отправить запрос AJAX сервлету, чтобы записать время, когда пользователь закрыл браузер, и сделать то, что вам нужно, в объекте сеанса.

...