📄 sessionlistener.java
字号:
package com.alumni.bean;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SessionListener implements HttpSessionBindingListener
{
private Hashtable onlineList;
private ServletContext application;
private HttpSession session;
public SessionListener(ServletContext application)
{
this.application=application;
session=null;
//初始化时获得在线用户名单的列表
this.onlineList=(Hashtable)application.getAttribute("onlineList");
if(onlineList==null)
{
onlineList=new Hashtable();
application.setAttribute("onlineList",onlineList);
}
}
//属性绑定时发生
public void valueBound(HttpSessionBindingEvent event)
{
//从事件中取得产生事件的源
session=event.getSession();
//取得SESSION绑定属性名
String sessionName=event.getName();
//如果绑定的名称为username则处理以下事件
if(sessionName.equals("listener"))
{
this.onlineList.put(session.getId(),session);
}
}
//属性移除时发生
public void valueUnbound(HttpSessionBindingEvent event)
{
//当有属性被移除时发生以下事件
session=event.getSession();
//取得在线列表
onlineList=(Hashtable)application.getAttribute("onlineList");
//把该SESSION从在线列表中移除
onlineList.remove(session.getId());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -