- 浏览: 301726 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
tacyuuhon:
这个代码就有问题。当前的 int activeSessions ...
HttpSessionListener统计在线人数 -
yangleilt:
唉。。能通俗的说一下不?你说的这些百科上到处都是的!
LDAP是什么? -
hezhou_0521:
你显示正确了吗?
HttpSessionListener统计在线人数 -
sevk:
我喜欢用vim或gvim,比Ultra Edit 顺手
让Ultra Edit和Keil结合的更紧密
/**这是管理user信息的类
onLineUser.java
*/
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
*/
%>
<%@ 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>登陆成功!</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></p>
<p> </p>
<%
out.println("<p><a href='logout.jsp?username="+username+"'>退出系统</a></p>");
%>
</center>
</body>
</html>
////////////////////////////////////////////////////////////////////////////////////
<%
/**这是用户退出的jsp文件
文件名为logout.jsp
*/
%>
<%@ 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>登陆成功!</h1></p>
</center>
<%
String username=request.getParameter("username");
if(onlineuser.deleteUser(username))
out.println(username+"已经退出系统!");
else
out.println(username+"没有登陆到系统!");
%>
<center>
<p></p>
<p> </p>
<p><a href="logout.jsp">退出系统</a></p>
</center>
</body>
</html>
onLineUser.java
*/
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
*/
%>
<%@ 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>登陆成功!</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></p>
<p> </p>
<%
out.println("<p><a href='logout.jsp?username="+username+"'>退出系统</a></p>");
%>
</center>
</body>
</html>
////////////////////////////////////////////////////////////////////////////////////
<%
/**这是用户退出的jsp文件
文件名为logout.jsp
*/
%>
<%@ 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>登陆成功!</h1></p>
</center>
<%
String username=request.getParameter("username");
if(onlineuser.deleteUser(username))
out.println(username+"已经退出系统!");
else
out.println(username+"没有登陆到系统!");
%>
<center>
<p></p>
<p> </p>
<p><a href="logout.jsp">退出系统</a></p>
</center>
</body>
</html>
发表评论
-
JSP教程(一)
2004-06-25 10:32 772JSP概述 JSP(IAVA SE ... -
JSP教程(二)
2004-06-25 10:34 683JSP directive mso-hansi-font-fa ... -
JSP教程(四)-JSP Actions的使用
2004-06-25 10:35 630JSP actions 使用您可以动态的插入一个文件,重用Ja ... -
JSP教程(三)--JSP中”预定义变量”的使用
2004-06-25 10:35 703为了简化JSP表达式和scriptlets中的代码,提供了8种 ... -
JSP教程(五)-JSP Actions的使用下
2004-06-25 10:36 610jsp:useBean Action 的使用 ... -
JSP教程(六)-怎么在JSP中跳转到别一页面
2004-06-25 10:37 609在JSP中使用jsp forward Action来实现页面的 ... -
JSP教程(七)-pluginAction的使用
2004-06-25 10:38 678jsp:plugin Action 使您能插 ... -
JAVA/JSP学习系列之一(JDK安装)
2004-06-27 13:39 586一、前言 JDK(Java Development Ki ... -
JAVA/JSP学习系列之二(Tomcat安装)
2004-06-27 13:40 621一、前言 对于初 ... -
JAVA/JSP学习系列之三(Resin+Apache的安装)
2004-06-27 13:41 611一、前言 对于初学者来说,要执行JSP和Servlet,T ... -
JAVA/JSP学习系列之五(JDBC-ODBC翻页例子)
2004-06-27 13:42 664一、运行前准备 建议了一个MS SQLServer7数据 ... -
JAVA/JSP学习系列之四(Orion App Server的安装)
2004-06-27 13:42 732一、前言 Orion这个东西,小巧,但是功能却非常多,废 ... -
JAVA/JSP学习系列之六(MySQL翻页例子)
2004-06-27 13:43 645一、运行前准备 下载了mysql的jdbc驱动(一个ja ... -
JAVA/JSP学习系列之七(Orion下自定义Tag)
2004-06-27 13:44 656一、前言 (本文译自Orion官方站点) 本文将一步一步 ... -
JAVA/JSP学习系列之八(改写MySQL翻页例子)
2004-06-27 13:48 654一、前言 其实,改写后的JDBC Data-Sourc ... -
JAVA/JSP学习系列之九(理解构造器)
2004-06-27 13:49 658解构造器 构造器和方法 ... -
JAVA/JSP学习系列之十(JavaMail API发邮件[servlet])
2004-06-27 13:50 654一:条件 必须下载sun公司的JavaMail API包,地址 ... -
JAVA/JSP学习系列之十一(简单的“抓网页”代码)
2004-06-27 13:51 722一、前言 从一个网站上,看到一个“抓网页”的代码,觉得有点 ... -
JAVA/JSP学习系列之十二(JSP生成jpeg图片用于投票)
2004-06-27 13:52 682一、前言 本文原作者为Tony Wang ,该文章涉及到 ... -
JAVA/JSP学习系列之十三(Applet调用JavaScript函数)(译)
2004-06-27 13:53 739下面的例子将说明在applet中去调用javascript函数 ...
相关推荐
**JSP 在线人数统计的实现** 在Web开发中,实时在线人数统计是一项常见的需求,它可以帮助网站管理员了解当前有多少用户正在访问网站,以便优化资源分配和服务质量。JSP(JavaServer Pages)作为Java Web开发的重要...
本项目"ex.zip_JSP在线人数统计_ex"显然关注的是如何在JSP环境中实现一个在线人数统计功能。这一功能对于网站管理员来说非常有用,能够实时了解当前访问网站的用户数量,从而对服务器性能进行优化或调整。 首先,...
JSP要想要实时的监控在线人数只能通过session监听来完成,当浏览器关闭的时马上触发事件让session值实时减1,本事例具有完整的JSP在线人数统计,访问次数,用eclipse工具打开或直接copy至Tomcat上就可以运行..
在本文中,我们将深入探讨如何使用JavaServer Pages (JSP) 实现在线人数统计功能,以便展示当前在线的用户数量。我们将分析提供的代码段,并解释关键概念和技术。 首先,我们有一个名为`onLineUser`的类,它实现了`...
### JSP与在线人数统计 JSP是一种基于Java的技术,它允许在HTML页面中嵌入Java代码,从而实现动态网页的生成。JSP可以访问Java后端资源,执行复杂的业务逻辑,并将结果返回给前端展示。在线人数统计正是一个结合了...
通过学习这个JSP在线人数统计程序示例,你可以深入了解如何在JSP中使用Session进行状态管理,并且掌握如何设计和实现一个基本的在线人数统计功能。这将有助于提升你的Web开发技能,更好地应对实际项目的需求。
本项目以"jsp_servlet在线人数"为主题,旨在实现一个功能,即实时统计网站的在线用户数量以及注册用户的总数。下面将详细介绍如何利用JSP和Servlet来实现这一功能。\n\n1. **JSP基础**\n JSP是一种基于Java的服务器...
### JSP实现在线人数及在线用户统计 #### 知识点概述 在现代Web开发中,统计在线人数和在线用户是十分重要的功能之一,尤其是在构建社区、论坛等交互性强的网站时。通过JSP(JavaServer Pages)可以方便地实现这一...
在开发Java Web应用程序时...总之,通过JSP、Servlet和session监听器,我们可以有效地统计和展示Java Web应用的实时在线人数。然而,实际应用中还需要考虑更多因素,如性能优化、用户体验以及更准确的在线状态判断等。
在Java JSP(JavaServer Pages)环境中,统计在线人数是一项常见的需求,这通常涉及到服务器端的会话管理、数据持久化以及实时性处理。这里我们将深入探讨如何利用JSP技术来实现这一功能。 首先,我们需要理解JSP的...
### JSP实现在线人数统计的知识点解析 #### 一、项目背景与目标 在Web应用开发中,了解网站的实时在线用户数量对于优化资源分配、提高用户体验等方面具有重要意义。本项目的目标是通过JSP(JavaServer Pages)技术...
根据给定文件的信息,我们可以总结出以下关于使用 JSP 实现在线用户人数统计的知识点: ### 1. **实现原理** 在线人数统计主要是通过利用 `HttpSession` 的生命周期事件来实现。每当一个新用户访问网站时,服务器会...
### JSP中的在线人数统计 #### 一、引言 在Web开发中,统计在线人数是一种常见的需求,尤其是在社交网络、论坛或者任何需要实时显示在线用户数量的应用场景中尤为重要。本文将详细介绍如何在JSP(JavaServer Pages...
在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)技术来实现一个简单的页面访问人数统计的功能。这个功能对于初学者来说是一个很好的实践项目,能够帮助他们更好地理解和运用JSP的基本原理。我们将讨论以下...
jsp简单的编程代码,实现显示您是第几位访问者
通过上述分析,我们可以看出这是一个利用JSP、Servlet和Java技术构建的简单在线人数统计系统。它不仅实现了基本的用户登录验证功能,还通过监听用户的在线状态来实时更新在线人数,提供了一种较为实用的解决方案。...
jsp 统计在线人数实例,是个完整的项目实例,部署即可查看效果! 通过使用:HttpSessionListener、HttpSessionBindingListener来实现. valueBound 方法登录触发。 valueUnbound 方法退出触发。
在使用Java Server Pages (JSP) 开发Web应用的过程中,统计在线人数是一项常见的功能需求。这可以通过JSP内置对象application实现,具体方法是利用application对象的属性进行共享数据存储,以此来统计所有用户访问的...
在JavaServer Pages (JSP) 开发中,统计在线人数是一项常见的需求,它可以帮助网站管理员了解站点的活跃度。本文将详细阐述如何利用JSP中的`application`对象来实现在线人数的统计。 `application`对象在JSP中代表...
这些监听器可以监听session和application的创建、销毁事件,例如,当有新用户登录时,可以通过session监听器记录在线人数;当聊天消息被发送时,可以通过application监听器更新在线用户的状态。 在具体实现过程中,...