当前位置 : 主页 > 编程语言 > java >

监听器

来源:互联网 收集:自由互联 发布时间:2021-06-28
统计在线人数,常用于项目后台管理以及前台直播需要显示在线人数的模块 package com.fz.servlet;import java.util.ArrayList;import java.util.List;import javax.servlet.annotation.WebListener;import javax.servlet.htt
统计在线人数,常用于项目后台管理以及前台直播需要显示在线人数的模块
package com.fz.servlet;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

@WebListener
public class Observers implements HttpSessionListener, HttpSessionAttributeListener{

	//在线总人数

	public static int count;
	//会员在线人数

	public static List
 
   vipnums = new ArrayList<>();
	@Override
	public void sessionCreated(HttpSessionEvent e) {
		count++;
		System.out.println("有人上线");
		
	}

	@Override
	public void sessionDestroyed(HttpSessionEvent e) {
		count--;
		System.out.println("有人下线");
		
	}

	@Override
	public void attributeAdded(HttpSessionBindingEvent e) {
		// session.setAttribute() 执行时

		HttpSession session = e.getSession();
		System.out.println(session);//session地址

		System.out.println(session.getId());//session id

		System.out.println(e.getName());//session名

		System.out.println(e.getValue());//session值

		System.out.println(session.getAttribute(e.getName()));//session值

		
		String nameString = (String) e.getValue();
		vipnums.add(nameString);
	}

	@Override
	public void attributeRemoved(HttpSessionBindingEvent e) {
		// session.removeAttribute() 执行时

		vipnums.remove(e.getValue().toString());
	}

	@Override
	public void attributeReplaced(HttpSessionBindingEvent e) {
		// session.setAttribute()

		// session.setAttribute();第二次执行时(重新登录时执行)

	}

}
 
上一篇:part多图上传
下一篇:百度编辑器
网友评论