在线等!!显示在线用户的姓名,ID
不同用户登陆同一个页面,该页面显示现在正在浏览该页面的不同用户的姓名,ID!!用SESSION获取,只能显示自己登陆的姓名,ID!!!!该怎么做啊!!急急急急
------解决方案--------------------截一段你看看
欢迎光临!<%=session.getAttribute("name")%>,您是第<%=session.getAttribute("userLogCount")%>次登录,您上次登录的时间是:<%=session.getAttribute("userLastLogTime")%>
------解决方案--------------------写一个SESSION的监听器.MLDN上有一个视频教程你可以看一下.偶看过,不过已经忘了.自己感觉SESSION监听,除了能显示用户信息没有其他用处了.所以没认真看.楼主可以研究一下
------解决方案--------------------显示在线人数,用户名不就可以了~~~~直接有JAVAVEAN做,网上有例子~~
自己再修改下就OK了~~
OnlineUser.java
import javax.servlet.http.*;
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());
}
}
online.jsp
<jsp:useBean id="onlineuser" class="dgeip.OnlineUser" scope="application"/>
<%
session=request.getSession(false);
Vector vt=onlineuser.getOnLineUser();
Enumeration e = vt.elements();
%>
<table border=0 cellpadding=0 cellspacing=0><tr><td width=380 background="../images/address.gif"> <fmt:message key="seat"/>
用户管理 >> 在线用户查看</td></tr></table>
<BR>
<table height="30" border="0" cellPadding=2 cellSpacing=1 class='bgcolor'>
<tr class='bg' bgcolor=#C2E9FA>
<td height=25 background='../images/main_28.gif'>当前在线用户数: <font color=red><B><%=onlineuser.getC