首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
ASP | ASP.NET | JSP | PHP | AJAX | XML | Java script | HTML/CSS | 服务器类
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> WEB开发 >> asp学习教程 >> 文章正文
用ASP程序实现网站在线人数统计
ChinaItLab  2007-11-7  保存本文  佚名  收藏本站

  在浏览网页的时侯,常常可以看见一些“当前网站上的人数是XXX人”的在线人数同计。如何用ASP来做一个呢?首先,分析一下它的做法,一般来说,这些线上人数统计都是指一个时段内的访客人数统计。比如(5分钟内,10分钟内)而这个时间的长短,是由设计者设定的。

  在这个时段内同计各个不同IP的访客总数,就可以得出当前的线上人数了,但这里有一个精确问题需要解决,至于用什么办法来精确地统计,那就是各人不同的做法了,比如可以用自动提交的页面,隔一段时间读取COOKIES等等,而在ASP中,有一个更好的技巧,就是使用session对象来统计,这里介绍一下gobal.asa这个文件,这是一个很重要的一个文件,请看看它的结构。

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Session_OnStart

End Sub

Sub Session_OnEnd

End Sub

sub Application_OnStard

End Sub

sub Application_OnEnd

End Sub</SCRIPT>


  当有一个会话发生时(用户浏览网页,向Web服务器发出请求)那么,如果自服务器启动后第一个用户的话,就会同时发生Application_OnStard和Session_OnStart这两个事件,之后,再有别的用户发出请求的话,就只发生Session_OnStart这个事件,而session的生存期是多长,是可以设定的,Session.timeout=X(分钟)

  好了,有了这个很好用的方法,我们就能准确地统计出在线人数了,而人数总计是用一个application变量来保存,当在第一个会话开始时,在Application_OnStard事件中放置一条清空计数器的语句application("online")=0,然后,在Session_OnStart事件中,放置一条增加在线人数的语句application("online")=application("online")+1,而在Session_OnEnd事件相应地放一条减少在线人数的语句,令计数值减一。

  这样,这个文件就改为如下

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Session_OnStart

application("online")=application("online")+1

End Sub

Sub Session_OnEnd

application("online")=application("online")-1

End Sub

sub Application_OnStard

application("online")=0

End Sub

sub Application_OnEnd

application("online")=0

End Sub</SCRIPT>


  接下来编一个显示图形数字的程序,把在线人数显示在指定的页面上。这样就能得出在人数了

*online.asp

<% @language="vbscript" %>
<%
tmp=application("online")
tmp=Cstr(tmp)
dim disp(20)
dim images(20)
dbbits=len(tmp)
for I= 1 to dbbits
disp(I)=left(right(tmp,I),I-(I-1))
next

for I=dbbits to 1 step -1
images(I)="<img src="&"http://web.chinaitlab.com/UploadFiles_5817/200708/20070822173257833.gif>"

response.write "document.write("&images(I)&");"

next

%>


  上面的程序很简单,这里不作分析了,请大家自己阅读一下。在调用在线统计的页面上用一句script语句引用online.asp文件,以显示图形统计器。

<script language="JavaScript" src="http://xxxx.com.cn/online.asp"></script>


  现在可以了,记住要点,你必须把gobal.asa放在正确的web应用程序根目录上,而最好单独为这个统计新建一个web应用程序,不要与其它别的程序混乱了,不然得出的数据是不准确的,而把这个程序修改为多用户的在线统计也很简单。这样就可以提供在线统计服务了,如何实现请又大家去思考一下吧....
中国IT教育热线咨询
相关文章
ASP连接11种数据库的语法总结
教你优化你的ASP程序
asp去除HTML标记的三个实用函数
ASP添加验证码的解决方法
ASP通用文章分页函数:非记录集分页
最新文章
·MySQL聚焦Web 2.0的可扩展性
·项目管理的信息化
·领导者找到信赖的副手比什么都重
·Unix下自动化测试实践
·用ASP程序实现网站在线人数统计
 文章评论

 精彩友情推荐
·锐捷网络交换机
·网件交换机报价
·netgear网络交换机
·中兴网络交换机
·锐捷三层交换机
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
ASP.NET ASP PHP JSP
·ASP.NET的文件类型04-23
·IIS服务器不支持ASP.NET的解决办法04-21
·使用ASP.NET 2.0中的ReportViewer控件04-21
·专家解析Asp.Net木马文件操作04-21
·ASP.NET MVC 源码更新预览04-18
·ASP.NET(C#)经典采集代码04-17
·ASP.NET购物车代码程序04-17
·ASP.NET生成静态页面和分页代码04-17
·Asp.Net之枚举类型输出需要类型转换04-17
·DataAdapter对象04-16
·ASP.NET 2.0中XML数据的处理04-16
·教你优化你的ASP程序03-07
·asp去除HTML标记的三个实用函数03-07
·ASP添加验证码的解决方法03-07
·ASP通用文章分页函数:非记录集分页03-07
·ASP教程基础:十天学会ASP第三天03-07
·ASP教程基础:十天学会ASP第二天03-07
·ASP教程基础:十天学会ASP第一天03-07
·能够生成google xml地图的asp源码03-06
·asp将全角转化成半角的函数02-15
·修改asp代码防止被杀毒软件误删12-06
·ASP取出HTML里面的图片地址的函数12-06
·一个完整、安全的PHP用户登录系统11-14
·Apache+PHP+MySQL建立数据库驱动的动态网站08-24
·用SSH与PHP相连接 确保数据传输的安全性08-23
·PHP5手动最简安装方法08-03
·PHP程序加速探索之服务器负载测试07-11
·完全讲解PHP+MySQL的分页显示示例分析05-30
·用Suhosin加强PHP脚本语言安全性05-26
·初学入门 PHP 和 MySQL05-17
·传奇的诞生 PHP三位创始人简介05-10
·大型系统上PHP令人不爽的九大原因05-10
·PHP 5.0中多态性的实现方案浅析05-10
·js 全选或全不选04-15
·缓冲技术提高JSP程序的性能和稳定性03-31
·介绍JSP中表单数据存储应用的一种通用方法03-27
·深入讲解JSP 2.0下的动态内容缓存技术03-25
·J2EE综合:深入谈论JSF与Struts的异同03-23
·JSP过滤器实现---论坛不文明语过滤功能03-23
·JSP/Servlet/JSF--Java异常框架设计03-14
·JSPWeaver消灭JSP开发中的“一回生”03-07
·如何提升JSP应用程序的效率03-05
·JSP/Servlet/JSF--对标签库的深入研究03-05
·使用异步Servlet扩展AJAX应用程序03-04
  培训中心
人才交流中心 技术交流中心
  ITLab技术交流平台: