栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

监听器(统计在线人数)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

监听器(统计在线人数)

1、实现一个监听器的接口;(有n种监听器)

编写一个监听器类去实现监听器的接口(这里以HttpSessionListener 为例)

package com.zhang.Listener;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
//统计在线人数
public class Listenertest01 implements HttpSessionListener {
    @Override
    //创建一个session监听,一旦创建一个session就会触发
    public void sessionCreated(HttpSessionEvent httpSessionEvent) {
    //创建session
        ServletContext servletContext = httpSessionEvent.getSession().getServletContext();
        //取值,强转为int
        Integer onlinecount = (Integer) servletContext.getAttribute("onlinecount");
        //判断是否有人在上网,数量加1
        if (onlinecount==null){
            onlinecount=new Integer(1);
        }else {
            onlinecount=new Integer(onlinecount+1);
        }
        servletContext.setAttribute("onlinecount",onlinecount);
    }
    @Override
    //销毁session事件,一旦销毁一个session就会触发
    public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
        //创建session
        ServletContext servletContext = httpSessionEvent.getSession().getServletContext();
        //取值,强转为int
        int onlinecount = (int) servletContext.getAttribute("onlinecount");
        //判断是否有人在上网,数量加1
        if (onlinecount==0){
            onlinecount=0;
        }else {
            onlinecount=onlinecount-1;
        }
        servletContext.setAttribute("onlinecount",onlinecount);
    }
    //session销毁方案:1手动销毁 httpSessionEvent.getSession().invalidate();
    //session销毁方案:2在web.xml里设置 
    //        1分钟为单位
    //    
}

2、web.xml中注册监听器

   
        com.zhang.Listener.Listenertest01
    

3、Jsp页面编写和取值

<%@page contentType="text/html;charset=UTF-8" language="java" %>


Hello World!
当前有<%=this.getServletConfig().getServletContext().getAttribute("onlinecount")%>人


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/927185.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号