Servlet事件监听器来写一个统计网站当前人数-完整代码

Posted 名字真的很急用

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet事件监听器来写一个统计网站当前人数-完整代码相关的知识,希望对你有一定的参考价值。

许多网站都具有统计在线人数的功能,通常情况下,一个用户在进入网站时,会被创建一个HttpSession对象,当用户离开网站时,HttpSession对象就会被销毁,HttpSessionListener监听器便可以监听web应用中的HttpSession对象的创建和销毁过程,因此,我们可以利用实现HttpSessionListener接口的监听器来统计网站的在线人数。

首先,我们创建一个实现HttpSessionListener接口的监听器类CountListener,CountListener类用于实现网站在线人数的统计,在这个类中还需要定义一个统计人数对象的count,每当监听到HttpSession对象被创建时,count对象加1,监听到HttpSession对象被销毁时,count减1,还需要将count成员变量的值保存在ServletContext对象中,以便其他JSP页面程序的调用count成员变量,以显示当前的在线用户数量。

CountListener.java

import javax.servlet.;
import javax.servlet.http.
;
public class CountListener implements HttpSessionListener{
private int count=0;
public void sessionCreated(HttpSessionEvent hse){
count++;
ServletContext context=hse.getSession().getServletContext();
context.setAttribute(“count”,new Integer(count));

public void SessionDestroyed(HttpSessionEvent hse){
count–;
ServletContext context=hse.getSession().getServletContext();
context.setAttribute(“count”,new Integer(count));

配置CountListener事件监听器

< listener>
< listener-class>
qh.com.example.listener.CountListener
</ listener-class>
</ listener>

我们编写简单的JSP登录页面
index.jsp

< body>
< h3>
当前牛马人数为:
<%=application.getAttribute(“count”)%>
</ h3>
< a href=“<=respons.encodeUrl(“logout.jsp”)%>”>退出登录
</ body>

logout.jsp
< body >
<%session.invalidate();%>
< h3>你已经退出系统</ h3>
</ body>

以上是关于Servlet事件监听器来写一个统计网站当前人数-完整代码的主要内容,如果未能解决你的问题,请参考以下文章

事件监听之统计登录用户人数(含用户名)案例

Web 监听器

监听器

Springboot——监听器

监听器应用统计网站人数自定义session扫描器踢人小案例

通过session统计当前在线人数