[原创]jsp实现在线用户列表方法

本文介绍了如何在项目中通过实现HttpSessionBindingListener接口来统计和显示在线用户信息。通过valueBound()和valueUnbound()方法,监听session的创建和销毁,结合OnlineUser类和ScmLogin对象,维护一个静态的在线用户列表。在web.xml中注册监听器,并在用户登录和注销时激活或注销监听。最后在jsp页面展示在线用户列表。
摘要由CSDN通过智能技术生成

在线用户列表的写法
近日项目中要用到这个功能,查阅很多资料后,总结如下。
由于项目不只要统计用户数,还要显示相关在线用户的信息,所以考虑用HttpSessionBindingListener接口。
该接口包含了valueBound()和valueUnbound()两个方法,分别可以对创建session和注销session、session过期做出响应。
此处我们建立HttpSessionBindingListener接口实现类

package com.sscm.common.organization;

import javax.servlet.http.*;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import java.util.*;
import com.retop.scm.common.*;

public class OnlineCounterListener implements HttpSessionBindingListener{ 
 private OnlineUser  newUser=null; //OnlineUser是用户类
  
 /**
  * Constructor for OnlineCounterListener.
  */
 public OnlineCounterListener() {
  newUser = new OnlineUser();
 } 
 
 public void valueBound(HttpSessionBindingEvent e){
     ScmLogin scmLogin = (ScmLogin)e.getSession().getAttribute("ScmLogin"); 
     newUser.setScmLogin(scmLogin);
     try {
      if(isInList(scmLogin))
       newUser.updateOnline();
     }
     catch (Exception ex) {
     }
  //System.out.println("用户"+e.getSession().getAttribute("ScmLogin")+"上限");
   }
  
   public void valueUnbound(HttpSessionBindingEvent e){
     ScmLogin scmLogin = (ScmLogin)e.getSession().get

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值