web项目设置session监听器,统计同时在线人数

session中有一个功能是监听器,在session被创建或者销毁的时候可以触发后台的代码,也可以用和这个来统计同时在线的用户人数


首先需要时web项目


监听类,实现接口HttpSessionListener,由于这个struts2项目,所有有一些其他的配置,为了较为容易的看到效果,这个对session设置了时效为1分钟,可以写代码,也可以直接在myeclipse中写东西


import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class SessionListenerTest implements HttpSessionListener {
	int i;

	SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
	@Override
	public void sessionCreated(HttpSessionEvent arg0) {
		i++;
		// TODO Auto-generated method stub
		System.out.println("session被创建了-来自session监听器      "+sdf.format(new Date())+"目前在线人数为:"+i);

	}

	@Override
	public void sessionDestroyed(HttpSessionEvent arg0) {
		i--;
		// TODO Auto-generated method stub
		System.out.println("session被销毁了-来自session监听器      "+sdf.format(new Date())+"目前在线人数为:"+i);
	}
	
	

}

web.xml的配置



 
  struts2filter
  org.apache.struts2.dispatcher.FilterDispatcher
 
 
  struts2filter
  /*
 
 
  用于监听session的创建和销毁
  filter.action.SessionListenerTest
 
 
  1
 
 
  index.jsp
 
 
  BASIC
 

你可能感兴趣的:(web项目设置session监听器,统计同时在线人数)