本篇文章为你整理了javaweb:监听器()的详细内容,包含有 javaweb:监听器,希望能帮助你了解 javaweb:监听器。
监听器种类数不胜数,监听器最常被应用在GUI中,不过网站中也可以设置监听器,这里我们利用sessionListener实现一个网站在线人数统计的监听来了解一下监听器的使用。
首先建立一个类来实现监听器OnlineListener.class
1 package com.jms.listener;
3 import javax.servlet.ServletContext;
4 import javax.servlet.http.HttpSessionEvent;
5 import javax.servlet.http.HttpSessionListener;
7 public class OnlineListener implements HttpSessionListener{
9 //统计网站中在线人数
11 //创建session时,触发这个监听
12 @Override
13 public void sessionCreated(HttpSessionEvent se) {
14 ServletContext sctContext = se.getSession().getServletContext();
15 Integer onlinenumber = (Integer) sctContext.getAttribute("OnlineNumber");
16 if(onlinenumber == null) {
17 onlinenumber = 1;
18 } else {
19 onlinenumber += 1;
21 sctContext.setAttribute("OnlineNumber", onlinenumber);
24 //销毁session时,触发这个监听
25 @Override
26 public void sessionDestroyed(HttpSessionEvent se) {
27 ServletContext sctContext = se.getSession().getServletContext();
28 Integer onlinenumber = (Integer) sctContext.getAttribute("OnlineNumber");
29 if(onlinenumber 0) {
30 onlinenumber -= 1;
32 sctContext.setAttribute("OnlineNumber", onlinenumber);
36 }
编辑我们的index.jsp
%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%
!DOCTYPE html
html
head
meta charset="UTF-8"
title 在线人数 /title
/head
body
% response.setHeader("Refresh", "3"); %
h1 span 当前在线人数: %=pageContext.getServletContext().getAttribute("OnlineNumber") % /span /h1
/body
/html
修改web.xml
listener
listener-class com.jms.listener.OnlineListener /listener-class
/listener
访问网站,测试一下效果如何
打开一个浏览器
打开第二个浏览器
设置的session过期时间为1分钟
(本文仅作个人学习记录用,如有纰漏,敬请指正)
以上就是javaweb:监听器()的详细内容,想要了解更多 javaweb:监听器的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。