狂神说JavaJavaWeb入门到实战--监听器
Posted 闲言_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了狂神说JavaJavaWeb入门到实战--监听器相关的知识,希望对你有一定的参考价值。
1.实现一个监听器的接口;(有n种)
实现监听器的接口
package cn.bloghut.listener;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* 统计网站在线人数 :统计session
*/
public class OnlineCountListener implements HttpSessionListener
/**
* 创建session 监听 : 看你的一举一动
* 一旦创建session就会触发一次这个事件!
*
* @param se
*/
@Override
public void sessionCreated(HttpSessionEvent se)
ServletContext context = se.getSession().getServletContext();
System.out.println(se.getSession().getId());
Integer onLineCount = (Integer) context.getAttribute("onLineCount");
if (onLineCount == null)
onLineCount = new Integer(1);
else
//不为空,在线数量+1
onLineCount++;
//更新在线人数
context.setAttribute("onLineCount",onLineCount);
/**
* 销毁session 监听
* 一旦session 就会触发一次这个事件!
*
* @param se
*/
@Override
public void sessionDestroyed(HttpSessionEvent se)
ServletContext context = se.getSession().getServletContext();
Integer onLineCount = (Integer) context.getAttribute("onLineCount");
if (onLineCount == null)
onLineCount = 0;
else
onLineCount = onLineCount - 1;
context.setAttribute("onLineCount",onLineCount);
/**
* session销毁
*
* 1.手动销毁 getSession().invalidate();
* 2.自动销毁
*/
2.在web.xml中配置
<!--注册监听器-->
<listener>
<listener-class>cn.bloghut.listener.OnlineCountListener</listener-class>
</listener>
3.看情况是否使用
以上是关于狂神说JavaJavaWeb入门到实战--监听器的主要内容,如果未能解决你的问题,请参考以下文章