社区
Java SE
帖子详情
如何用java实现当前在线人数?
sunqj
2002-06-03 10:04:09
各位大侠,请帮忙。
...全文
235
8
打赏
收藏
如何用java实现当前在线人数?
各位大侠,请帮忙。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunqj
2002-06-14
打赏
举报
回复
各位大侠,本来已经结帐,分都给了,但是在给分时出现错误,分没有给成,但帖子却结了。
该怎么把分给你们?
sunqj
2002-06-13
打赏
举报
回复
各位大侠,怎样在服务器端监听这个session的创建和销毁事件呢?
比如用tomcat3.2.1或者用EASserver。
sunqj
2002-06-13
打赏
举报
回复
各位大侠,怎样在服务器端监听这个session的创建和销毁事件呢?
LD520
2002-06-11
打赏
举报
回复
/**这是管理user信息的类
文件名为onLineUser.java
欢迎访问javajia家(http://www.javajia.com),由yuking制作。2001.1.1
*/
import javax.servlet.http.*;
import javax.servlet.*;
import java.util.*;
public class onLineUser implements HttpSessionBindingListener {
public onLineUser(){
}
private Vector users=new Vector();
public int getCount(){
users.trimToSize();
return users.capacity();
}
public boolean existUser(String userName){
users.trimToSize();
boolean existUser=false;
for (int i=0;i<users.capacity();i++ )
{
if (userName.equals((String)users.get(i)))
{
existUser=true;
break;
}
}
return existUser;
}
public boolean deleteUser(String userName) {
users.trimToSize();
if(existUser(userName)){
int currUserIndex=-1;
for(int i=0;i<users.capacity();i++){
if(userName.equals((String)users.get(i))){
currUserIndex=i;
break;
}
}
if (currUserIndex!=-1){
users.remove(currUserIndex);
users.trimToSize();
return true;
}
}
return false;
}
public Vector getOnLineUser()
{
return users;
}
public void valueBound(HttpSessionBindingEvent e) {
users.trimToSize();
if(!existUser(e.getName())){
users.add(e.getName());
System.out.print(e.getName()+"\t 登入到系统\t"+(new Date()));
System.out.println(" 在线用户数为:"+getCount());
}else
System.out.println(e.getName()+"已经存在");
}
public void valueUnbound(HttpSessionBindingEvent e) {
users.trimToSize();
String userName=e.getName();
deleteUser(userName);
System.out.print(userName+"\t 退出系统\t"+(new Date()));
System.out.println(" 在线用户数为:"+getCount());
}
}
/////////////////////////////////////////////////////////////////////////////
<%
/**这是显示在线用户的jsp文件
文件名为onLineUser.jsp
欢迎访问javajia家(http://www.javajia.com),由yuking制作。2001.1.1
*/
%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="onLineUser,java.util.*" %>
<jsp:useBean id="onlineuser" class="onLineUser" scope="application"/>
<html>
<head>
<title>搞定JSP在线人数</title>
</head>
<body>
<center>
<p><h1>登陆成功,欢迎您访问Java家!</h1></p>
</center>
<% session = request.getSession(false); %>
<%
String username=request.getParameter("username");
if (onlineuser.existUser(username)){
out.println("用户<font color=red>"+username+"</font>已经登陆!");
}else{
session.setMaxInactiveInterval(50); //Sesion有效时长,以秒为单位
session.setAttribute(username,onlineuser);
out.println("欢迎新用户:<font color=red>"+username+"</font>登陆到系统!");
}
out.println("<br>当前在线用户人数:<font color=red>"+onlineuser.getCount()+"</font><br>");
Vector vt=onlineuser.getOnLineUser();
Enumeration e = vt.elements();
out.println("在线用户列表");
out.println("<table border=1>");
out.println("<tr><td>用户名</td></tr>");
while(e.hasMoreElements()){
out.println("<tr><td>");
out.println((String)e.nextElement()+"<br>");
out.println("</td></tr>");
}
out.println("</table>");
%>
<center>
<p>yuking制作</p>
<p> </p>
<%
out.println("<p><a href='logout.jsp?username="+username+"'>退出系统</a></p>");
%>
</center>
</body>
</html>
////////////////////////////////////////////////////////////////////////////////////
<%
/**这是用户退出的jsp文件
文件名为logout.jsp
欢迎访问javajia家(http://www.javajia.com),由yuking制作。2001.1.1
*/
%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="onLineUser,java.util.*" %>
<jsp:useBean id="onlineuser" class="onLineUser" scope="application"/>
<html>
<head>
<title>搞定JSP在线人数</title>
</head>
<body>
<center>
<p><h1>登陆成功,欢迎您访问Java家!</h1></p>
</center>
<%
String username=request.getParameter("username");
if(onlineuser.deleteUser(username))
out.println(username+"已经退出系统!");
else
out.println(username+"没有登陆到系统!");
%>
<center>
<p>yuking制作</p>
<p> </p>
<p><a href="logout.jsp">退出系统</a></p>
</center>
</body>
</html>
sunqj
2002-06-11
打赏
举报
回复
to: shine_car(I can do) (
大侠,这个类该怎么用啊,是不是用userbean?该怎么设置?
大侠帮忙。
sunqj
2002-06-11
打赏
举报
回复
大侠,那么如何找到javax.servlet和javax.servlet.http包啊。救命
shine_car
2002-06-03
打赏
举报
回复
看看:http://www.csdn.net/expert/topic/366/366150.xml?temp=.1292536
注意其中的private int count = 0;
应该为static private int count = 0;
skyyoung
2002-06-03
打赏
举报
回复
在JSP版查找“在线”就有答案。
java
获取
当前
在线
人数
_
java
使用监听器
实现
一个统计网站
在线
人数
的示例
本文主要介绍了
java
使用监听器
实现
一个统计网站
在线
人数
的示例,具有一定的参考价值,有需要的朋友可以了解一下。(1)创建一个监听器
实现
类要大致统计一个网站的
在线
人数
,首先,可以通过ServletContextListener监听,当Web应用上下文启动时,在ServletContext中添加一个List,用来准备存放
在线
的用户名;然后,可以通过HttpSessionAttributeListene...
java
实现
统计
在线
人数
对于登录信息时使用session存储的,所以我这里是通过
实现
HttpSessionAttributeListener这个接口完成的。 1、
实现
接口类,在web.xml文件中配置监听类,从而可以使该类完成其工作。 public class SessionListener implements HttpSessionAttributeListener { public void att
java
统计
在线
人数
_利用
java
监听器
实现
在线
人数
统计
本文实例为大家分享了
java
监听器
实现
在线
人数
统计的具体代码,供大家参考,具体内容如下1.在工程中创建监听类SessionListener 并且
实现
HttpSessionListener接口,代码如下import
java
x.servlet.http.HttpSessionEvent;import
java
x.servlet.http.HttpSessionListener;public clas...
java
实现
在线
人数
监控
在线
人数
统计
java
统计
在线
人数
下面,我们利用HttpSessionBindingListener接口
Java
语言,编写一个
在线
人数
统计的程序。当一个用户登录后,显示欢迎信息,同时显示出
当前
在线
的总
人数
和用户名单。当一个用户退出登录或者Session超时值发生时,从
在线
用户名单中删除这个用户,同时将
在线
的总
人数
减1。这个功能的完成,主要是利用一个
实现
了HttpSessionBindingListener接口的对象,当这个对象被绑
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章