监听器:统计在线人数

        接着,我来写一个监听器的案例来巩固学习监听器的知识,便于日后的查阅和复习。大概分为以下几个步骤:

1.编写统计人数的Servlet,实现特定的监听器接口

2.编写好监听器接口后,在web.xml中注册间监听器(ServletContext、HttpSession、ServletRequest、HttpSessionAttributeL等)都在web.xml中使用<listener><listener-class>监听器的全路径</listener-class></listener>注册。

3.编写jsp跳转,访问,统计结果。


实验代码:

1.CountTotalNumberOfPeople.java

package com.nyist.cn.Example;



import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class CountTotalNumberOfPeople implements HttpSessionListener{
int count = 0;
@Override
public void sessionCreated(HttpSessionEvent se) {
ServletContext context = se.getSession().getServletContext();
Integer count = (Integer)context.getAttribute("count");
if(count == null){
count = 1;
context.setAttribute("count",count);
}else {
count++;
context.setAttribute("count",count);
}
}

@Override
public void sessionDestroyed(HttpSessionEvent se) {
ServletContext context = se.getSession().getServletContext();
Integer count = (Integer)context.getAttribute("count");
count--;
context.setAttribute("count",count);
}

}

2.index.jsp

<style type="text/css">

span{
color: block;
font-family: '微软雅黑';
font-size: 17px;
}
</style>
    <span>当前在线用户:&nbsp;${applicationScope.count }人&nbsp;</span>
  </body>

<body>

注意:session的闲置链接时长为30分钟,我在web.xml中使用<session-config><session-timeout>1</session-timeout></session-config>修改了session的闲置链接时长为1分钟。闲置时长为在1分钟内无任何操作,session链接讲自动销毁

结果:

当前在线用户: 2人 


  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值