这个接口主要是用来监控session的创建和消毁的,它有两个方法
- public void sessionCreated(HttpSessionEvent se)
- public void sessionDestroyed(HttpSessionEvent se)
我们要实现监控session的功能,需要实现这个接口,然后在web .xml中配置一个Listener.
-
-
-
-
-
-
-
- 1.
- 2. package SessionCount;
- 3. import javax.servlet.*;
- 4. import javax.servlet.http.*;
- 5.
- 6. public class SessionCounter implements HttpSessionListener {
- 7.
- 8. private static int activeSessions = 0;
- 9.
- 10. public void sessionCreated(HttpSessionEvent se) {
- 11. activeSessions++;
- 12. }
- 13.
- 14. public void sessionDestroyed(HttpSessionEvent se) {
- 15. if(activeSessions > 0)
- 16. activeSessions--;
- 17. }
- 18.
- 19. public static int getActiveSessions() {
- 20. return activeSessions;
- 21. }
- 22. }
- <%@ page import="SessionCount.SessionCounter" %>
- 在线:<%= SessionCounter.getActiveSessions() %>
-
- xml version="1.0" encoding="ISO-8859-1"?>
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">
-
- <web-app>
-
-
- <listener>
- <listener-class>
- SessionCount.SessionCounter
- <!---->listener-class>
- <!---->listener>
- <!---->web-app>
分享到:
相关推荐
在Java Web开发中,`HttpSessionListener`是一个重要的接口,用于监听`HttpSession`对象的创建和销毁事件。这个接口是Java Servlet API的一部分,通过实现它,开发者可以获取到Web应用中的在线用户数量以及历史访问...
在Spring boot中通过HttpSessionListener监听器统计在线人数是一种常见的技术实现方式,适用于需要跟踪和管理用户会话状态的Web应用程序。以下是从给定文件中提炼的关键知识点。 首先,了解HttpSessionListener接口...
用户登录时,调用LoginServlet,将用户名写入application的在线用户列表中,用户退出时,调用LogoutServlet,调用session.invalidate(),交给HttpSessionListener的sessionDestroyed()方法,将用户从在线列表中删除。...
### HttpSessionListener 和 HttpSessionBindingListener 的区别 #### 一、概述 在Java Web开发中,`HttpSessionListener`和`HttpSessionBindingListener`都是用于监听HTTP会话生命周期的重要接口。它们分别用于...
jsp 统计在线人数实例,是个完整的项目实例,部署即可查看效果! 通过使用:HttpSessionListener、HttpSessionBindingListener来实现. valueBound 方法登录触发。 valueUnbound 方法退出触发。
而`HttpSessionListener`是.NET Framework提供的一种机制,允许开发者监听和处理与会话相关的事件,如会话开始、结束、超时等。然而,这个功能在Java中并没有直接对应的类或接口。因此,标题“在ASP.NET中而不是在...
`HttpSessionListener`可以监听Session的创建和销毁,而`HttpSessionAttributeListener`则可以监听Session属性的添加、移除和替换。 1. **创建Session监听器** 创建一个实现了`HttpSessionListener`接口的类,例如...
Java 在 Jetty9 中使用 HttpSessionListener 和 Filter Java 在 Jetty9 中使用 HttpSessionListener 和 Filter 是一种常见的技术,用于监听和过滤 HTTP 请求。在这篇文章中,我们将详细介绍如何在 Jetty9 中使用 ...
本项目通过实现`HttpSessionListener`接口,每隔一分钟动态更新在线人数,提供了高效且可靠的解决方案。以下是对这个话题的详细阐述: 1. **Java Servlet与HttpSessionListener** Java Servlet是Java EE平台中的...
本教程将深入讲解如何利用Java的监听器机制来统计在线人数,具体涉及到ServletContextListener、HttpSessionListener以及HttpSessionAttributeListener。 首先,`ServletContextListener`是Java Servlet API中的一...
在Java Web开发中,`SessionListener`是一种非常重要的机制,它允许我们监听用户会话(Session)的创建和销毁事件。...当我们需要在用户多次请求之间保持用户信息时,如登录状态,`Session`就显得尤为重要。...
首先,开发者可能尝试使用Session监听器(HttpSessionListener)来检测Session的过期。监听器是Java Servlet规范的一部分,允许我们注册监听器以响应特定的事件,如Session的创建和销毁。在`web.xml`文件中,我们...
在这个“Servlet监听器例子”中,我们将深入探讨如何使用`ServletContextListener`, `HttpSessionListener`, 和 `HttpSessionAttributeListener`来实现不同的功能。 首先,`ServletContextListener`接口用于监听...
一个典型的解决方案是使用HttpSessionListener来监听session的变化,通过这种方式可以统计当前在线用户的数量。本文通过对Spring Boot用监听器统计在线人数案例的分析,详细介绍了实现该功能的步骤和注意事项。 ...
`HttpSessionListener`用于监听会话的创建和销毁事件,而`HttpSessionAttributeListener`则可以监听到会话属性的变化。 在本案例中,我们可能会实现`HttpSessionListener`,以便在会话开始和结束时执行相应的操作。...
- **HttpSessionListener**:为了实现登录人数的统计,我们可以利用`HttpSessionListener`接口。当一个新的`HttpSession`被创建或销毁时,`HttpSessionListener`会接收到通知。通过监听这些事件,我们可以在用户...
用户注销 非正常退出 session失效 三种情况来进行 控制 分别使用了两种方式 进行了实现1:不修改数据库使用HashMap+HttpSessionListener 2:给数据库添加online列 使用(数据库脚本包含在内)HashMap+...
它们实现了特定的接口,如`ServletContextListener`、`HttpSessionListener`或`ServletRequestListener`等,以便在特定事件发生时执行相应的操作,如初始化、销毁、创建或销毁域对象等。 二、`Listener`的分类 1. `...
HttpSessionListener提供了对Session创建、销毁事件的监听,而HttpSessionAttributeListener则可以监听Session属性的变化,比如添加、移除和替换事件。 以下是创建一个简单的HttpSessionListener的例子: ```java ...
`HttpSessionListener`是Java Servlet API提供的一种机制,用于监听`HttpSession`对象的创建和销毁事件,从而实现对在线用户的统计。下面将详细解释如何通过`HttpSessionListener`来实现这一功能,并结合JavaScript...