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

HttpSessionListener --watch

阅读更多

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>

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

<o:p> </o:p>

<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 和HttpSessionBindingListener的区别 单点登录

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

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

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

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

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

    JavaWeb中的监听器与过滤器

    HttpSessionListener - **作用**: - 监听`HttpSession`对象的创建和销毁。 - 可用于统计在线用户数、用户行为分析等。 - **生命周期**: - **创建**:当第一次调用`request.getSession()`方法时,如果还没有...

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

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

    ServletListener大全

    HttpSessionListener - **方法**: - `sessionCreated(HttpSessionEvent hse)`:当一个新的HttpSession被创建时调用。 - `sessionDestroyed(HttpSessionEvent hse)`:当一个HttpSession被销毁时调用。 - **事件**...

    java 在Jetty9中使用HttpSessionListener和Filter

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

    监听session的创建到销毁

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

    servlet2.4doc

    Overview Package Class Tree Deprecated Index Help PREV NEXT FRAMES NO FRAMES A B C D E F G H I J L P R S U V -------------------------------------------------------------------------------- ...

    java统计在线人数

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

    servlet-api-3.0.zip

    常见的监听器有`ServletContextListener`,`HttpSessionListener`等,可通过`@WebListener`注解配置。 5. **部署描述符(web.xml)**: - 虽然Servlet 3.0支持注解配置,但传统的web.xml文件仍然是可选的。它可以...

    javax.servlet-api-3.1.0.jar

    它们通过实现不同的监听器接口,如`javax.servlet.ServletContextListener`,`javax.servlet.http.HttpSessionListener`,可以在事件触发时执行相应的操作。 `javax.servlet-api-3.1.0.jar`不仅包含这些基本组件的...

    redis-session-manager-tomcat6共享包

    3. 配置session监听器:可能需要创建一个实现了`javax.servlet.http.HttpSessionListener`接口的类,以便在session创建和销毁时进行相应操作,例如同步Redis中的session状态。 4. 重启Tomcat:完成上述配置后,重启...

    20164206004-刘继强-恋家房产平台-功能需求1

    - **HttpSessionListener**:监听器统计系统当前在线用户数量。 - **Ajax**:实现页面异步更新,提高用户体验。 - **Spring Security**:提供安全框架,保护用户数据和系统安全。 这个项目涵盖了从用户界面设计...

    SessionListener

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

    servlet-2_5-api.zip_servlet-2_5-api.jar

    8. **监听器Listener**:Servlet 2.5 API提供了多种监听器接口,如ServletContextListener、ServletRequestListener、HttpSessionListener等,可以监听Web应用程序、请求和会话事件。 9. **URL映射**:Servlet可以...

    jakarta-servletapi-4-src.zip servlet源码

    监听器如`ServletContextListener`, `ServletRequestListener`, `HttpSessionListener`等,可以监听Web应用程序、请求和会话事件。源码中,我们可以看到Filter和Listener的注册、触发机制,以及它们如何协同工作。 ...

    J2EE登陆人数统计

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

Global site tag (gtag.js) - Google Analytics