Java教程

Java监听器

本文主要是介绍Java监听器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

监听器

实现一个监听器的接口;(有很多种)

  1. 编写一个监听器,实现监听器接口,重写方法
package com.yang.listener;

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

//统计网站在线人数:统计session
public class OnlineCountListener implements HttpSessionListener {

    //创建session的监听:看你的一举一动
    //一旦创建一个session就会触发一次这个时机
    public void sessionCreated(HttpSessionEvent se) {
        ServletContext ctx = se.getSession().getServletContext();
        System.out.println(se.getSession().getId());
        Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");
        if (onlineCount==null){
            onlineCount = new Integer(1);
        }else{
            int count = onlineCount.intValue();
            onlineCount = new Integer(count+1);
        }
        ctx.setAttribute("OnlineCount",onlineCount);
    }

    //销毁session的监听
    //一旦销毁一个session就会触发一次这个事件
    public void sessionDestroyed(HttpSessionEvent se) {
        ServletContext ctx = se.getSession().getServletContext();
        Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");
        if (onlineCount==null){
            onlineCount = new Integer(0);
        }else{
            int count = onlineCount.intValue();
            onlineCount = new Integer(count-1);
        }
        ctx.setAttribute("OnlineCount",onlineCount);
    }
}
/*
Session销毁:
    1.手动销毁 getSession().invalidate()
    2.自动销毁
 */
  1. 在web.mxml中配置监听器
<listener>
        <listener-class>com.yang.listener.OnlineCountListener</listener-class>
    </listener>

  1. 看情况是否使用
这篇关于Java监听器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!