⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sessionlistener.java

📁 jsp+javabean写的论坛
💻 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 + -