在工程中new 一个Listener
application
javax.servlet.ServletContextContextListene:当Context中的内容改变时监听:
javax.servlet.ServletContextAttributeListener:当·Contexe中的属性改变时监听;
javax.servlet.http.HttpSessionListener.当session创建或销毁的时候监听
javax.servlet.http.HttpSessionAttributeListener;当session属性变化的时候监听
javax.servlet.ServletRequestListener.当每请求发生的时候监听
javax.servlet.ServletRequestAttributeListener. 请求属性改变时。。。。。
配置xml文件:
扫描二维码关注公众号,回复:
2706848 查看本文章
<listener>
<listener-class>com.zzxtit.web.listener.TextListener</listener-class>
</listener>
<session-config>
<session-timeout>1</session-timeout>
</session-config>
TestListener代码,用来统计网站在线人数
package com.zzxtit.web.listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class TextListener implements HttpSessionListener {
public TextListener(){
}
public void sessionCreated(HttpSessionEvent se) {
System.out.println("sessionId" + se.getSession().getId() + "被创建");
Integer onlPeNum = 0;
Object o = se.getSession().getServletContext().getAttribute("onlPeNum");
if(o != null){
onlPeNum = (Integer)o;
}
onlPeNum++;
se.getSession().getServletContext().setAttribute("onlPeNum",onlPeNum );
}
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("sessionId" + se.getSession().getId() + "被销毁 ");
Integer onlPeNum = (Integer) se.getSession().getServletContext().getAttribute("onlPeNum");
onlPeNum--;
se.getSession().getServletContext().setAttribute("onlPeNum",onlPeNum );
}
}