【问题标题】:How do I run a method in the session event Onclose/onDestroy? [duplicate]如何在会话事件 Onclose/onDestroy 中运行方法? [复制]
【发布时间】:2016-06-03 21:11:03
【问题描述】:

我使用 JSP。
我需要在会话关闭时运行一个方法,即,每当浏览器关闭时。
我怎么做这个?

【问题讨论】:

标签: java jsp session-state


【解决方案1】:

您必须在 javascript 中检测浏览器关闭事件。请参阅Trying to detect browser close event 以检测浏览器关闭事件

向服务器端发送 ajax 调用,这将使会话无效

【讨论】:

    【解决方案2】:

    在服务器端你可以注册一个 HttpSessionListener:

    package com.example
    public class MySessionListener implements HttpSessionListener {
    
        public void sessionCreated(HttpSessionEvent event) {
            System.out.println("Session created");
        }
    
        public void sessionDestroyed(HttpSessionEvent event) {
            System.out.println("Session destroyed");
        }
    }
    

    要注册,您可以将@WebListener 注解添加到侦听器的类或将侦听器添加到 web.xml

    <listener>
        <listener-class>com.example.MySessionListener</listener-class>
    </listener>
    

    关闭浏览器时不会调用监听器,会话超时时会调用监听器。

    【讨论】:

    • 这是需要 tnks
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    相关资源
    最近更新 更多