`
麦田守望者
  • 浏览: 22709 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HttpSessionListener 的sessionDestroyed方法讨论

阅读更多
最近碰到一个问题,在web应用里面用户关闭浏览器的时候,HttpSessionListener 的sessionDestroyed方法没有执行,除了在session失效的情况下,还有在什么样的情况下sessionDestroyed方法还会被执行,而要想在用户关闭浏览器的时候执行相应的处理逻辑该怎么样做?
分享到:
评论
3 楼 w156445045 2012-12-29  
不知道博主解决了这个问题了没有,我现在也受到这个问题的困扰。
sessionDestroyed()方法,貌似在session超时的时候会执行,但是
用户直接关闭浏览器的时候,这个就不执行了,
那个session就不会超时嘛?

2 楼 gembler 2009-01-16  
麦田守望者 写道
除了在session失效的情况下,还有在什么样的情况下sessionDestroyed方法还会被执行

就只有session失效时

麦田守望者 写道
而要想在用户关闭浏览器的时候执行相应的处理逻辑该怎么样做?

camel0506 写道
在页面捕捉关闭事件(js脚本),传到你要关闭session的action或者其他地方关闭session

要做这个事情之前你要想清楚,如果用户突然断电、死机、非法关闭浏览器


javadoc 写道
void sessionDestroyed(HttpSessionEvent se)

    Notification that a session is about to be invalidated.

    Parameters:
        se - the notification event

1 楼 camel0506 2009-01-16  
在页面捕捉关闭事件(js脚本),传到你要关闭session的action或者其他地方关闭session

相关推荐

    HttpSessionListener监听session的创建及销毁,实现在线用户统计

    用户登录时,调用LoginServlet,将用户名写入application的在线用户列表中,用户退出时,调用LogoutServlet,调用session.invalidate(),交给HttpSessionListener的sessionDestroyed()方法,将用户从在线列表中删除。...

    Spring boot通过HttpSessionListener监听器统计在线人数的实现代码

    - 实现HttpSessionListener监听器,并重写`sessionCreated`和`sessionDestroyed`方法。 - 在`sessionCreated`方法中,通过`ServletContext`获取应用级别的属性(如在线人数计数器)并增加计数。 - 在`...

    HttpSessionListener在线人数和历史访问量

    这个类必须包含两个方法:`sessionCreated(HttpSessionEvent se)`和`sessionDestroyed(HttpSessionEvent se)`。这两个方法会在每次新的会话创建或会话结束时被调用。 1. `sessionCreated(HttpSessionEvent se)`方法...

    HttpSessionListener 和HttpSessionBindingListener的区别 单点登录

    在给定的部分内容中,`OnlineUserListener`实现了`HttpSessionListener`接口,并覆盖了`sessionDestroyed`方法来处理会话销毁的情况。具体做法是从在线用户列表中移除超时用户的用户名,并打印一条消息确认操作已...

    jsp 统计在线人数利用HttpSessionListener、HttpSessionBindingListener

    jsp 统计在线人数实例,是个完整的项目实例,部署即可查看效果! 通过使用:HttpSessionListener、HttpSessionBindingListener来实现. valueBound 方法登录触发。 valueUnbound 方法退出触发。

    java 在Jetty9中使用HttpSessionListener和Filter

    该接口有两个方法:`sessionCreated` 和 `sessionDestroyed`,分别在 HttpSession 被创建和销毁时被调用。 注册 HttpSessionListener 的方法是: ```java ServletContextHandler.getSessionHandler()....

    SessionListener

    它定义了两个主要的方法:`sessionCreated(HttpSessionEvent se)`和`sessionDestroyed(HttpSessionEvent se)`。`sessionCreated()`方法在新的`HttpSession`被创建时调用,而`sessionDestroyed()`则在`Session`被销毁...

    springboot 用监听器统计在线人数案例分析

    在sessionDestroyed方法中,每当有session被销毁时,就会触发该方法,这时我们将session的数量减一,并将最新的数量存入到ServletContext中。这样,我们就能通过访问ServletContext来获取当前的在线用户数。 代码...

    java统计在线人数

    用户离开或者session超时,`sessionDestroyed`方法会被触发。通过这些事件,我们可以实时监控在线用户的数量。 2. **实现HttpSessionListener** 要创建一个`HttpSessionListener`,你需要创建一个新的Java类并实现...

    Javaweb监听器实例之统计在线人数

    sessionDestroyed方法中每次会话销毁时num自减,并从ServletContext获取用户链表,移除对应用户对象。 - ServletRequestListener接口的实现:在请求创建时将用户对象添加到用户链表,并在请求结束时移除用户对象。 ...

    单一登录踢人效果

    sessionCreated方法用于在Session创建时将当前Session对象添加到sessionMap中,而sessionDestroyed方法用于在Session销毁时从sessionMap中删除对应的Session对象。 二、登录方法 在登录方法中,我们需要实现单一...

    监听session的创建到销毁

    // 实现sessionCreated()和sessionDestroyed()方法 } public static void main(String[] args) { SpringApplication.run(Application.class, args); } // ...其他配置 } ``` 3. **Session的生命周期管理** ...

    Web监听器

    3. **使用示例**:例如,HttpSessionListener可以用于统计当前在线用户数量,每当一个新的会话创建或结束,监听器的sessionCreated和sessionDestroyed方法会被调用。 4. **编程实践**:实现监听器接口需要覆盖指定...

    servlet监听器实现踢人小案例

    在`sessionDestroyed`方法中,我们可以检查会话的销毁原因,如果是因为超时或者其他特定条件(如用户请求注销),那么可以执行“踢人”操作,比如清理服务器上的用户信息,更新在线用户列表等。 至于提供的压缩包子...

    在ASP.NET中而不是在Java中使用httpsessionlistener做什么?

    而`HttpSessionListener`是.NET Framework提供的一种机制,允许开发者监听和处理与会话相关的事件,如会话开始、结束、超时等。然而,这个功能在Java中并没有直接对应的类或接口。因此,标题“在ASP.NET中而不是在...

    Java Web应用开发 53 课堂案例-应用监听器统计在线人数.docx

    在`sessionDestroyed`方法中调用`OnlineCounter.reduce()`,表示用户离线。这两个方法会在相应的会话生命周期事件发生时被自动调用。 为了使`OnlineCounterListener`生效,我们需要在应用程序的部署描述符`web.xml`...

    利用HttpSessionListerner实现在线人数统计

    当`HttpSession`被销毁,比如用户关闭浏览器或者超时,`sessionDestroyed`方法会被调用,表示有一个用户下线。在这些方法中,我们可以维护一个全局的在线人数计数器,以此来跟踪当前在线的用户数量。 ```java ...

    设置Session失效的几种方法

    HttpSessionListener类有两个方法:`sessionCreated` 和 `sessionDestroyed`。`sessionCreated` 指在Session创建时执行的方法,`sessionDestroyed` 指在Session失效时执行的方法。 例如: ```java public class ...

    Servlet的监听器小DEMO

    在"ServletListenerExample"这个DEMO中,可能包含了一个名为`SessionListener`的类,它实现了`HttpSessionListener`接口,并且在`sessionCreated`和`sessionDestroyed`方法中分别记录了会话的创建和销毁事件。...

    session初始化+网站流量统计+在线人数

    2. 创建监听器类,实现HttpSessionListener接口,并重写sessionCreated()和sessionDestroyed()方法。 3. 在sessionCreated()方法中,增加访问计数和在线人数。 4. 在sessionDestroyed()方法中,减少在线人数。 5. ...

Global site tag (gtag.js) - Google Analytics