您的位置:首页 > 编程语言 > Java开发

JavaWeb监听器介绍及统计在线人数案例

2018-03-09 16:50 363 查看
说明:本文章只讲解JavaWeb监听器的使用,不做详解。
          三大域对象创建和销毁监听器一般实现了ServletContextListener、HttpSessionListener、ServletRequestListener这三个接口的监听器。
代码操作很简单,注意分为两个步骤(以Context级别的为例)
1.在项目的web.xml中配置(class里面是自定义监听的类)
<listener><!--自定义的监听器-->
<listener-class>com.zpkj.space.utils.TestListener</listener-class>
</listener>2.创建该TestListener类,在contextInitialized方法中调用项目启动想要执行的方法就行了。
package com.zpkj.space.utils;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* Created by 李庆伟 on 2018/3/9.
*/
public class TestListener implements ServletContextListener{

//在项目启动时调用
public void contextInitialized(ServletContextEvent servletContextEvent) {

}
//在项目关闭时调用
public void contextDestroyed(ServletContextEvent servletContextEvent) {

}
}这样JavaWeb监听器就Ok了。
如果是Session级别的,同时也要在web.xml配置
import javax.servlet.http.HttpSessionListener;

/**
* Created by 李庆伟 on 2018/3/9.
*/
public class TestListener implements HttpSessionListener {

//在项目启动时调用
public void sessionCreated(HttpSessionEvent httpSessionEvent) {

}
//在项目关闭时调用
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {

}
}应用场景:
a.统计在线人数和在线用户
b.系统启动时加载初始化信息
c.统计站点访问
简单用例
package com.zpkj.space.utils;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* Created by 李庆伟 on 2018/3/9.
* 统计在线人数
*/
public class TestListener implements HttpSessionListener {

public int count=0;//记录session的数量
public void sessionCreated(HttpSessionEvent arg0) {//监听session的创建
count++;
arg0.getSession().getServletContext().setAttribute("Count", count);
}

public void sessionDestroyed(HttpSessionEvent arg0) {//监听session的撤销
count--;
arg0.getSession().getServletContext().setAttribute("Count", count);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: