百木园-与人分享,
就是让自己快乐。

javaweb:监听器

监听器种类数不胜数,监听器最常被应用在GUI中,不过网站中也可以设置监听器,这里我们利用sessionListener实现一个网站在线人数统计的监听来了解一下监听器的使用。

首先建立一个类来实现监听器OnlineListener.class

 1 package com.jms.listener;
 2 
 3 import javax.servlet.ServletContext;
 4 import javax.servlet.http.HttpSessionEvent;
 5 import javax.servlet.http.HttpSessionListener;
 6 
 7 public class OnlineListener implements HttpSessionListener{
 8     
 9     //统计网站中在线人数
10 
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;
20         }
21         sctContext.setAttribute(\"OnlineNumber\", onlinenumber);
22     }
23 
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;
31         }
32         sctContext.setAttribute(\"OnlineNumber\", onlinenumber);
33     }
34     
35     
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 style=\"color:blue\">当前在线人数:<%=pageContext.getServletContext().getAttribute(\"OnlineNumber\") %></span></h1>

</body>
</html>

修改web.xml

    <listener>
            <listener-class>com.jms.listener.OnlineListener</listener-class>
       </listener>

 访问网站,测试一下效果如何

打开一个浏览器

 打开第二个浏览器

 

 

 

设置的session过期时间为1分钟

 

 

 

(本文仅作个人学习记录用,如有纰漏,敬请指正)


来源:https://www.cnblogs.com/jmsstudy/p/16536676.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » javaweb:监听器

相关推荐

  • 暂无文章