b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

javaweb过滤器与器_java过滤器配置_java器怎么写(13)

电脑杂谈  发布时间:2017-05-17 04:02:27  来源:网络整理

需求:统计当前访问网站的人数有多少人?

什么时候我们可以知道用户访问了网站?

只要用户访问了我们的网站,session一定会创建。只要用户离开,点退出,session就销毁。

思路:

只要判断session创建,人数就加一

只要判断session销毁,人数就减一

人数的数据,要存在哪里?

ServletContext对象中,所有应用程序范围都可以获取,所有访问当前网站的用户,都应该可以看到人数

总思路:

1)先在servletContext中初始化人数参数;当前项目初始化的时候,将人数初始化:0人。javaweb过滤器与器

2)在器中只要判断session创建,人数就加一

3)在器中只要判断session销毁,人数就减一

代码实现:

器代码:

package cn.itcast.listener;

import javax.servlet.ServletContext;

import javax.servlet.http.HttpSessionEvent;

import javax.servlet.http.HttpSessionListener;

publicclass MyHttpSessionListener implements HttpSessionListener {

@Override

publicvoid sessionCreated(HttpSessionEvent se) {

System.out.println("MyHttpSessionListener....sessionCreated....");

// 在器中只要判断session创建,人数就加一

ServletContext context = se.getSession().getServletContext();

// 获取里面的人数

Integer onlineNum = (Integer) context.getAttribute("onlineNum");

onlineNum = onlineNum + 1;

context.setAttribute("onlineNum", onlineNum);

}

@Override

publicvoid sessionDestroyed(HttpSessionEvent se) {

System.out.println("MyHttpSessionListener....sessionDestroyed....");

// 在器中只要判断session销毁,人数就减去一

ServletContext context = se.getSession().getServletContext();

// 获取里面的人数

Integer onlineNum = (Integer) context.getAttribute("onlineNum");

onlineNum = onlineNum - 1;

context.setAttribute("onlineNum", onlineNum);

}

}

index.jsp显示人数,显示退出链接:

<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">

<html>


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-47577-13.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...