`
小数点
  • 浏览: 5933 次
  • 性别: Icon_minigender_2
  • 来自: 汉中
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
  • Mybeautiful: 恩,不错.理解很深刻. 不过个人建议,不要滥用单例模式.一个单 ...
    单例模式

关于listener

阅读更多
servlet api中提供了4个监听各种事件的监听器接口:

HttpSessionListener 用于监听session的创建和销毁

HttpSessionAttributeListener 用于监听向session中加入替换删除属性

HttpSessionBindingListener  用于监听session与某个属性绑定的事件

HttpSessionActivationListener 用于监听session 的激活与搁置(激活:就是把session从永久存储器中放入内存, 搁置:就是把session从内存放到永久存储器中)



其中HttpSessionListener 和HttpSessionAttributeListener 需要向servlet注册,也就是要到xml中加入<listener></listener>这个东西,而其他两个不用


刚刚做了统计在线人数的问题,用了两种不同的方法:

1:HttpSessionListener

让一个servlet实现这个接口,并在这个接口的两个方法sessionCreated(。。。) sessionDestroyed(。。。)中添加代码,使得每次新建一个session都会让在线人数加1。

2::HttpSessionBindingListener

让User这个类实现这个接口,在他的两个方法valueBound(。。。) 和valueUnbound(。。。)中添加代码,使得每次只要执行session.setAttribute(“user”,user);就使得在线人数加上一。



但是这两种方法的运行过程中遇到一个问题:有的用户可能不会正常退出,就是点击退出页面退出(这个页面有session.invalidate()或者session.removeAttribute("user",uesr)方法),这就导致我们的在线人数不会正确的减少。这个问题我还不知道怎么解决
分享到:
评论

相关推荐

    TcpListener异步通信

    本文将深入探讨如何使用C#实现一个简单的TcpListener来支持异步通信,允许多客户端同时连接。 首先,我们需要理解TcpListener类在C#中的作用。TcpListener是.NET Framework提供的一个类,用于监听特定IP地址和端口...

    SpringBoot整合Listener的两种方式.docx

    在Spring Boot应用中,整合Listener主要是为了监听应用的生命周期事件,例如在应用启动或关闭时执行特定的操作。这里我们讨论两种整合Listener的方式。 ### 方式一:通过注解扫描完成Listener组件的注册 1. **创建...

    listener我的listener listener我的listener

    标题中的"listener我的listener listener我的listener"可能是在强调Listener的重要性或者是在多次提及一个与Listener相关的个人项目或资源。 在Java中,Listener模式是设计模式的一种,属于行为型模式,它允许我们...

    RAC listener.ora详解.docx

    Oracle RAC 监听器配置文件 listener.ora 详解 Oracle RAC 监听器配置文件 listener.ora 是一个核心配置文件,用于配置 Oracle Net Listener 的参数。本文将详细介绍 listener.ora 文件的配置参数、协议地址参数、...

    TcpListener 监听服务端

    TcpListener 是 .NET Framework 中用于创建 TCP 服务器端应用程序的关键组件。它允许程序监听来自多个客户端的连接请求,实现网络通信。在这个场景中,我们关注的是如何使用 TcpListener 创建一个可以处理多客户端...

    针对Oracle的TNS listener的攻击原理及方法介绍

    Oracle TNS Listener是Oracle数据库系统中用于监听客户端请求的关键组件。其基本功能是在网络上监听客户端发来的连接请求,并对这些请求做出响应。然而,TNS Listener也存在一系列安全漏洞,尤其是缓冲区溢出和配置...

    c# socket 、TCPClient、TCPListener 用法详解.doc

    C# Socket、TCPClient、TCPListener 用法详解 C# 中的 Socket 编程是基于 Windows Sockets (Winsock) 接口的托管实现,提供了一个强大且灵活的网络编程模型。在本文中,我们将详细介绍 C# 中的 Socket 编程,包括 ...

    handler与listener的区别

    在ExtJS框架中,`handler`和`listener`都是用于响应用户交互的关键概念,它们各自有不同的使用场景和特点。理解两者的区别对于有效管理和组织应用的事件处理至关重要。 1. **Handler** - `handler`通常与`Action`...

    listener监听器demo

    标题"listener监听器demo"和描述"listener监听器小例子"暗示我们将探讨的是一个关于`Listener`的示例代码。 首先,让我们从Java GUI编程的角度来看`Listener`。在Swing或AWT中,我们经常使用各种类型的`Listener`,...

    Tomcat中--Error listenerStart错误的解决方案

    ### Tomcat中Error listenerStart错误的解决方案 在Java Web应用开发过程中,经常遇到的一个问题是Tomcat启动时出现“Error listenerStart”这样的异常信息。本文将详细介绍这一问题的原因、可能涉及的因素以及具体...

    配置ORACLE的listener.ora、tnsnames.ora

    以下是一些关于`listener.ora`配置的关键知识点: 1. **监听器定义**:在`listener.ora`文件中,每个监听器都有一个唯一的名称,如`LISTENER`。定义监听器的基本格式如下: ``` LISTENER = (DESCRIPTION_LIST = ...

    TcpClient TcpListener Demo

    TcpClient TcpListener Demo 案例 TcpClient TcpListener Demo 案例 TcpClient TcpListener Demo 案例 TcpClient TcpListener Demo 案例 QQ:574311505

    c# tcplistener tcp监控

    `TcpListener`类是.NET Framework提供的一种用于创建TCP服务器的关键工具。本篇将深入探讨`TcpListener`类在C#中的应用以及如何实现TCP监控。 首先,TCP(传输控制协议)是一种面向连接的、可靠的网络通信协议,它...

    java jsp listener小用法

    在JSP中,监听器(Listener)是Servlet API的一部分,属于事件驱动模型,可以监听特定的事件并进行响应。本篇文章将深入探讨如何使用Java JSP的监听器来实现用户登录次数的记录。 一、理解监听器(Listener) 在...

    C#Winform使用TCPListener加多线程编程实现客户端服务器端聊天模式

    本文将深入探讨如何使用C#的Winform框架结合TCPListener和TCPClient,以及多线程技术,实现客户端与服务器端的聊天模式。此外,我们还将讨论如何通过委托来解决在非UI线程中操作控件时可能引发的异常。 首先,TCP...

    TCPListener异步接收数据.zip

    关于"包不会错位"的描述,这表明在处理异步接收时,确保了数据的完整性和顺序。TCP协议本身提供了基于滑动窗口的流量控制和序列号机制,确保了数据包的正确排序和重传。因此,即使在高并发环境下,只要正确地使用...

    ORA-12541 TNSno listener 的解决方案

    ORA-12541 TNSno listener 的解决方案 ORA-12541 TNSno listener 的解决方案

    C# TcpListener/TcpClient Demo

    在.NET框架中,`TcpListener`和`TcpClient`是两个关键类,用于实现基于TCP协议的网络通信。本文将详细解析这两个类的功能、用法以及如何通过它们创建一个简单的C# TCP通信示例。 首先,`TcpListener`类是服务器端的...

    TcpListener 和TcpClient使用总结

    ### TcpListener 和 TcpClient 使用总结 #### 一、概述 在C#的.NET框架中,TCP编程是一项重要的技能,尤其适用于构建需要通过网络进行通信的应用程序。本文将深入探讨TcpListener与TcpClient类的使用方法及其背后...

    基于tcplistener和tcpclient的一对多通讯原型

    TcpListener listener = new TcpListener(IPAddress.Any, 1234); ``` 这行代码告诉服务器在所有可用的IP地址(`IPAddress.Any`)上监听1234号端口。 2. 开始监听: 使用`Start()`方法启动监听: ```csharp ...

Global site tag (gtag.js) - Google Analytics