首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

!显示在线用户的姓名,ID

2012-01-19 
在线等!!显示在线用户的姓名,ID不同用户登陆同一个页面,该页面显示现在正在浏览该页面的不同用户的姓名,ID

在线等!!显示在线用户的姓名,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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<fmt:message key="seat"/>
&nbsp;&nbsp;用户管理 >> 在线用户查看</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'>当前在线用户数:&nbsp;<font color=red><B><%=onlineuser.getCount()%></B></font></td>


</tr>
<tr>
<td bgcolor='#FFFFFF'>
<table height="30" border="0">
<%int ii=1;
while(e.hasMoreElements()){
out.print("<td width=110 height=30><img src='../images/per.gif'>"+(String)e.nextElement()+"</td>");
if((ii%6)==0)
{
out.print("</tr><tr>");
}
ii++;
}
%>
</tr>
</table>
</td>
</tr>
</table>
[解决办法]
我也碰到一模一样的问题.
隨風而逝 帖出来的代码我都有了,我还是不大懂,麻烦去我的贴子看看 http://topic.csdn.net/u/20071020/14/f2fdf466-e19c-4ecb-8fd0-715de4dd50da.html

热点排行