`
sun113
  • 浏览: 51325 次
  • 来自: NeverNeverlaNd
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

HttpSessionListener

阅读更多

package testHttpSessionListener;

<o:p> </o:p>

import javax.servlet.http.HttpSessionEvent;

import javax.servlet.http.HttpSessionListener;

<o:p> </o:p>

public class SessionCounter implements HttpSessionListener {

<o:p> </o:p>

              private static int activeSessions = 0;

<o:p> </o:p>

              public void sessionCreated(HttpSessionEvent se) {

                            System.out.println("before add: "+activeSessions);

                            activeSessions++;

                            System.out.println("after destroy: "+activeSessions);

                           

              }

<o:p> </o:p>

              public void sessionDestroyed(HttpSessionEvent se) {

                            System.out.println("before destroy: "+activeSessions);

                            if (activeSessions > 0){

                                          activeSessions--;

                            }

                            System.out.println("after destroy: "+getActiveSessions());

              }

<o:p> </o:p>

              public static int getActiveSessions() {

                            return activeSessions;

              }

             

}

<o:p> </o:p>

clearSession.jsp

<%@ page language="java" contentType="text/html;charset=UTF-8"%><o:p></o:p>

<meta http-equiv="refresh" content="1;url=www.csdn.net"><o:p></o:p>

<% session.invalidate();%><o:p></o:p>

正在注…………<o:p></o:p>

<o:p> </o:p>

welcome.jsp<o:p></o:p>

<jsp:include page="include.jsp" flush="true"/><o:p></o:p>

<!--<o:p></o:p>

<html:submit property="update" onclick ="form.action='../0010/update.do'">quit</html:submit><o:p></o:p>

<html:link href="../Unregist.do">unregist</html:link><o:p></o:p>

--><o:p></o:p>

<html:link href="clearSession.jsp">unregist</html:link><o:p></o:p>

<o:p> </o:p>

include.jsp<o:p></o:p>

<%@ page language="java" contentType="text/html; charset=UTF-8"%><o:p></o:p>

<%@ page import="testHttpSessionListener.SessionCounter" %> <o:p></o:p>

在庫:<%= SessionCounter.getActiveSessions() %><o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

一旦,进入一个网站,这个网站就自动为浏览器分配一个session!调用sessionCreated()<o:p></o:p>

session过期或销毁时候,调用sessionDestroyed,这时候有两种方法:session.invalidate();和等待session自动过期。<o:p></o:p>

<o:p> </o:p>

目前,我调用session.invalidate()的时机还掌握不好,怎么样在浏览器关掉前调用这个方法?现在用的是refresh meta,直接跳到另外的地方(离开这个服务器),这样才能使activeSessions正常减一。<o:p></o:p>

<o:p> </o:p>

继续研究……<o:p></o:p>

<o:p> </o:p>

分享到:
评论

相关推荐

    HttpSessionListener在线人数和历史访问量

    在Java Web开发中,`HttpSessionListener`是一个重要的接口,用于监听`HttpSession`对象的创建和销毁事件。这个接口是Java Servlet API的一部分,通过实现它,开发者可以获取到Web应用中的在线用户数量以及历史访问...

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

    在Spring boot中通过HttpSessionListener监听器统计在线人数是一种常见的技术实现方式,适用于需要跟踪和管理用户会话状态的Web应用程序。以下是从给定文件中提炼的关键知识点。 首先,了解HttpSessionListener接口...

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

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

    HttpSessionListener 和HttpSessionBindingListener的区别 单点登录

    ### HttpSessionListener 和 HttpSessionBindingListener 的区别 #### 一、概述 在Java Web开发中,`HttpSessionListener`和`HttpSessionBindingListener`都是用于监听HTTP会话生命周期的重要接口。它们分别用于...

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

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

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

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

    监听session的创建到销毁

    `HttpSessionListener`可以监听Session的创建和销毁,而`HttpSessionAttributeListener`则可以监听Session属性的添加、移除和替换。 1. **创建Session监听器** 创建一个实现了`HttpSessionListener`接口的类,例如...

    java 在Jetty9中使用HttpSessionListener和Filter

    Java 在 Jetty9 中使用 HttpSessionListener 和 Filter Java 在 Jetty9 中使用 HttpSessionListener 和 Filter 是一种常见的技术,用于监听和过滤 HTTP 请求。在这篇文章中,我们将详细介绍如何在 Jetty9 中使用 ...

    java统计在线人数

    本项目通过实现`HttpSessionListener`接口,每隔一分钟动态更新在线人数,提供了高效且可靠的解决方案。以下是对这个话题的详细阐述: 1. **Java Servlet与HttpSessionListener** Java Servlet是Java EE平台中的...

    java监听器学习 统计在线人数

    本教程将深入讲解如何利用Java的监听器机制来统计在线人数,具体涉及到ServletContextListener、HttpSessionListener以及HttpSessionAttributeListener。 首先,`ServletContextListener`是Java Servlet API中的一...

    SessionListener

    在Java Web开发中,`SessionListener`是一种非常重要的机制,它允许我们监听用户会话(Session)的创建和销毁事件。...当我们需要在用户多次请求之间保持用户信息时,如登录状态,`Session`就显得尤为重要。...

    Session过期后自动跳转到登录页面的实例代码

    首先,开发者可能尝试使用Session监听器(HttpSessionListener)来检测Session的过期。监听器是Java Servlet规范的一部分,允许我们注册监听器以响应特定的事件,如Session的创建和销毁。在`web.xml`文件中,我们...

    Servlet监听器例子

    在这个“Servlet监听器例子”中,我们将深入探讨如何使用`ServletContextListener`, `HttpSessionListener`, 和 `HttpSessionAttributeListener`来实现不同的功能。 首先,`ServletContextListener`接口用于监听...

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

    一个典型的解决方案是使用HttpSessionListener来监听session的变化,通过这种方式可以统计当前在线用户的数量。本文通过对Spring Boot用监听器统计在线人数案例的分析,详细介绍了实现该功能的步骤和注意事项。 ...

    servlet监听器实现踢人小案例

    `HttpSessionListener`用于监听会话的创建和销毁事件,而`HttpSessionAttributeListener`则可以监听到会话属性的变化。 在本案例中,我们可能会实现`HttpSessionListener`,以便在会话开始和结束时执行相应的操作。...

    J2EE登陆人数统计

    - **HttpSessionListener**:为了实现登录人数的统计,我们可以利用`HttpSessionListener`接口。当一个新的`HttpSession`被创建或销毁时,`HttpSessionListener`会接收到通知。通过监听这些事件,我们可以在用户...

    SSH框架登录示例 同一账户只能一人登录

    用户注销 非正常退出 session失效 三种情况来进行 控制 分别使用了两种方式 进行了实现1:不修改数据库使用HashMap+HttpSessionListener 2:给数据库添加online列 使用(数据库脚本包含在内)HashMap+...

    listener的实例代码

    它们实现了特定的接口,如`ServletContextListener`、`HttpSessionListener`或`ServletRequestListener`等,以便在特定事件发生时执行相应的操作,如初始化、销毁、创建或销毁域对象等。 二、`Listener`的分类 1. `...

    JAVA SESSION监听器

    HttpSessionListener提供了对Session创建、销毁事件的监听,而HttpSessionAttributeListener则可以监听Session属性的变化,比如添加、移除和替换事件。 以下是创建一个简单的HttpSessionListener的例子: ```java ...

    利用HttpSessionListerner实现在线人数统计

    `HttpSessionListener`是Java Servlet API提供的一种机制,用于监听`HttpSession`对象的创建和销毁事件,从而实现对在线用户的统计。下面将详细解释如何通过`HttpSessionListener`来实现这一功能,并结合JavaScript...

Global site tag (gtag.js) - Google Analytics