统计在线访问人数 请问如何用JS实现统计在线访问人数呀?谢谢各位了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 js行吗?可以考虑把用户sessionId存在Application里判断来实现你的功能 举个例子比如你通过访问客户的IP作为KEY你把ip存在一个list里之前可以判断下list是否包含这个IP存:application.setAttribute("userlist",list);获取:application.getAttribute("userlist"); 代码就不贴了楼主去看看这个吧!http://www.loveqiutian.cn/html/22/61/61004/1.htm 问题是这个样子的,我之前用的也是SESSION。我在自己机器上面测试是可以统计的。但是部署到服务器上面就不行,因为我的服务器是用APACHE做过反向代理的,SESSION是存放在服务器上面的,而我并不是直接访问服务器,我所访问的是反向代理的那台机器。。所有我不用能SESSION来做这个。。我曾家在网上看到过用JS实现在线人数的统计。。但是现在找不到。。所有想请教一下高手,看能不能帮个忙!很急的!谢谢了 到 www.java2000.net找吧,我记得曾在那写过一个就是统计在线人数的小例子。 这个直接在JSP页面里就可以实现啊~ jsp文件如下:<%@ page language="java" pageEncoding="gb2312"%><%@ page import="java.util.*" %><jsp:useBean id="counter" class="com.count" scope="application"></jsp:useBean><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head> <title>网站计数器</title></head> <body> <% //此处不可以用〈%!%〉因为这种方法用于方法内; String ip=request.getRemoteAddr(); Date time=(Date)application.getAttribute(ip); if(session.isNew()) { Date newTime=new Date(); if(time==null) { application.setAttribute(ip,newTime); counter.setCounter(); } else { application.setAttribute(ip,newTime); long mm=Date.parse(newTime.toString())-Date.parse(time.toString()); System.out.println(mm); if(mm>120000) { counter.setCounter(); } } } else { System.out.println(request.getMethod()); Date newTime=new Date(); application.setAttribute(ip,newTime); } %> <div align="center"><h3>网站计数器</h3></div> <div align="center">共有<%=counter.getCounter() %>人访问网站</div></body></html>count类:package com;public class count { long counter=0; public long getCounter() { return counter; } public synchronized long setCounter() { counter++; return counter; //因为加了异步关健字synchronized,所以必须有返回值; } } 可以做一个表,专门存放在线用户。登陆时,添加到这个表里面,退出时,从这个表里面删除。或者程序里做一个List,一样的道理,进来后,将用户添加到这个list里面。至于何时退出可以用session监听器,或者定时清理长久不操作的用户。之前做过一个wap2.0的项目,对于session的支持不好,就用了第二种方法。 让前台显示pdf文档 关于ireport和jasperreport在jsp中的配置应用问题~ 怎样获得我想要行的记录 简单的问题 jsp操作cookies为什么会慢一步的? 请问如何实现程序后台按时执行一定的程序! query.uniqueResult()查不到值 帮忙看一下,几个选择题!!很菜的问题! 不同版本的JDK对JSP影响大吗? 请帮帮忙(jsp连接Sql Server的问题) 关于Math.round的问题 SmartUpload使用问题(十万火急)
比如你通过访问客户的IP作为KEY
你把ip存在一个list里
之前可以判断下list是否包含这个IP存:application.setAttribute("userlist",list);获取:application.getAttribute("userlist");
楼主去看看这个吧!
http://www.loveqiutian.cn/html/22/61/61004/1.htm
我曾家在网上看到过用JS实现在线人数的统计。。但是现在找不到。。所有想请教一下高手,看能不能帮个忙!很急的!谢谢了
<%@ page language="java" pageEncoding="gb2312"%>
<%@ page import="java.util.*" %>
<jsp:useBean id="counter" class="com.count" scope="application">
</jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>网站计数器</title>
</head>
<body>
<% //此处不可以用〈%!%〉因为这种方法用于方法内;
String ip=request.getRemoteAddr();
Date time=(Date)application.getAttribute(ip);
if(session.isNew())
{
Date newTime=new Date();
if(time==null)
{
application.setAttribute(ip,newTime);
counter.setCounter();
}
else
{
application.setAttribute(ip,newTime);
long mm=Date.parse(newTime.toString())-Date.parse(time.toString());
System.out.println(mm);
if(mm>120000)
{
counter.setCounter();
}
}
}
else
{
System.out.println(request.getMethod());
Date newTime=new Date();
application.setAttribute(ip,newTime);
}
%>
<div align="center"><h3>网站计数器</h3></div>
<div align="center">共有<%=counter.getCounter() %>人访问网站</div>
</body>
</html>count类:
package com;public class count
{
long counter=0; public long getCounter() {
return counter;
} public synchronized long setCounter() {
counter++;
return counter; //因为加了异步关健字synchronized,所以必须有返回值;
}
}
可以做一个表,专门存放在线用户。登陆时,添加到这个表里面,退出时,从这个表里面删除。或者程序里做一个List,一样的道理,进来后,将用户添加到这个list里面。至于何时退出可以用session监听器,或者定时清理长久不操作的用户。之前做过一个wap2.0的项目,对于session的支持不好,就用了第二种方法。