javaweb:监听器()

  本篇文章为你整理了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: