JavaWeb之监听器 JavaWeb之监听器案例讲解
Z && Y 人气:0想了解JavaWeb之监听器案例讲解的相关内容吗,Z && Y在本文为您仔细讲解JavaWeb之监听器的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Javaweb之监听器,Javaweb之监听器讲解,下面大家一起来学习吧。
1. 监听器
实现一个监听器的接口;(有n种监听器)
1.1 编写一个监听器(实现监听器接口)
OnlineCountListener .java
package com.tian.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. 自动销毁 web.xml <session-config> <!--1分钟后session自动销毁--> <session-timeout>1</session-timeout> </session-config> */ }
1.2 配置监听器
web.xml
<!--注册监听器--> <listener> <listener-class>com.tian.listener.OnlineCountListener</listener-class> </listener>
1.3 启动服务器
加载全部内容