毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

Java网站访问统计代码

更新时间:2012-9-3:  来源:毕业论文

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());  
}  
}  


<%@   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>  

<%@   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>

两个问题:
1.   线程同步。
2.   并不是每个人浏览网站时,都早早注册了,并登陆后,再浏览。 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。