文章目录:
- 1、java web开发 如何统计正在访问JSP页面的人数总和?
- 2、网页人数统计代码
- 3、网站流量统计php源码
- 4、ASP.NET技术 怎么实现统计网站的访问人数。 请高手指点。最好是有源代码 谢谢
java web开发 如何统计正在访问JSP页面的人数总和?
在session_onstart时记录来访的人在session_onend时干掉然后显示计数就可以了
网页人数统计代码
*global.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=""""/"disp(I)".gif"
response.write "document.write('"images(I)"');"
next
%
上面的程序很简单,这里不作分析了,请自己阅读一下。在调用在线统计的页面上用一句script语句引用online.asp文件,以显示图形统计器。
script language="JavaScript" src=""/script
这个页面需要服务器的ASP语言支持,请详细参考自己的服务器情况.
网站流量统计php源码
phpMyVisites
phpMyVisites是一个网站流量统计系统,它能够提供非常详细的统计报告和高级图形报表。phpMyVisites不是一个Apachelog分析工具,它建有自己的log。它的特点包括: 安装部署:提供可视化的安装向导,并且使用简单只要把一段简单的Javascript代码添加到你网站的页面中就能够马上开始收集访问者的信息。一个简洁,友好的界面可用来展示数据和帮助数据分析。提供简洁,明了的图形分析报表。安全:phpMyVisites能够最大限度地阻止入侵和外部攻击。支持多网站统计多用户:可以添加无限个用户并对每个用户赋予不同的管理权限(针对某一个网站的查看和管理的权限)。国际化支持:phpMyVisites提供 30种语言包。能够准确统计一段时间内的访问量(天/周/月/年)。访问者的回头率:新访问者,经常访问者,有规律性的访问者。提供多种文件格式的统计报告(PDF,Image等)。对被统计的网页进行分组/分级。访问者分析:统计访问者是从哪个页面离开网站的和从哪个页面进入网站或通过哪个搜索引擎的关健字进入网站,在网站的停留时间,所访问的页面等。可通过e-mail或RSS聚合获取网站的流量信息。
phpTrafficA
phpTrafficA是一个统计工具用于网站流量分析。基于PHP与MySQL开发。它能够统计你网站的流量,包括来自哪些搜索引擎,关健字和其它转向你网站的链接。它还能够分析浏览你网站所用的操作系统,浏览器,访问者停留时间等等。
AudiStat
AudiStat是一个基于PHP+MySQL开发的,轻量级的,占用服务器很少资源的网站流量统计系统。 它能够统计点击量,涉及的页面,访问者国家,访问者域名,访问者所用的浏览器等。统计信息展示页面可以通过Html代码自己定制。在最新版本中还加入跟踪google爬虫的功能。
piwik
Piwik是一套基于Php+MySQL技术构建,能够与Google Analytics相媲美的开源网站访问统计系统,前身是phpMyVisites。Piwik可以给你详细的统计信息,比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等,并且采用了大量的AJAX/Flash技术,使得在操作上更加便易。此外,它还采用了插件扩展及开放API架构,可以让开发人员根据自已的实际需求创建更多的功能.
Webanalyse
采用PHP4开发的网站流量统计工具。WebAnalyse没有使用任何数据库,或Apache logs支持。以便让安装更加快速和简单。
Open Web Analytics
Open Web Analytics是一个开源的网站流量统计系统。基于PHP/Open Flash Chart/Ajax技术开发,既可以单独使用也可以与WordPress、GalleryMediaWiki集成使用。支持多个网站,集成 Google Maps,RSS/Atom订阅跟踪等功能。
SlimStat
SlimStat是一个基于PHP+MySQL开发的网站流量访问统计分析系统,类似于Google Analytics。它可以按时间段显示:每个页面的访问数,涉及的URL和域名,搜索关键字,浏览器种类、操作系统类型、国家、分辩率等。
具体内容去参考资料里面看吧,个人比较推荐piwik
ASP.NET技术 怎么实现统计网站的访问人数。 请高手指点。最好是有源代码 谢谢
添加Global.aspx,然后分别改动下session_start和application_start就可以了!!把全代码给你...里面还有统计在线人数的分给我把!哈哈!
%@ Application Language="C#" %
%@ Import Namespace="System.Data.SqlClient" %
%@ Import Namespace="DbHelper.User" %
script runat="server"
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
Application["online"] = 0;//设置初始在线人数为0
Application["total"]=(int)(Maindao.GetCount().Rows[0]["totalcount"]);//这里是从数据库读这次以前的访问总人数!
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
Maindao.totalCount((int)Application["total"]);//关闭时添加一次访问次数
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception lasterror = Server.GetLastError();
string ErrMsg = lasterror.ToString();
string LogName = "Mylog";
string Message = "URL:" + Request.Path + " ,Error:" + ErrMsg;
// Create EventLog if It doesn't exist
if (!System.Diagnostics.EventLog.SourceExists(LogName))
{
System.Diagnostics.EventLog.CreateEventSource(LogName, LogName);
System.Diagnostics.EventLog log = new System.Diagnostics.EventLog();
log.Source = LogName;
//These are the five options that will display a different icon.
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.Information, 1);
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.Error, 2);
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.Warning, 3);
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.SuccessAudit, 4);
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.FailureAudit, 5);
}
Application.Lock();
Application["error"] = Message;
Application.UnLock();
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Application.Lock();
Application["online"] = (int)Application["online"] + 1;//在线人数加1
Application["total"] = (int)Application["total"] + 1; //访问总人数加1
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["online"] = (int)Application["online"] - 1;//在线人数减1
Application.UnLock();
}
/script
espace="System.Data.SqlClient" %%@ Import Namespace="DbHelper.User" %script runat="server"
数减1 Application.UnLock(); }/script
; Application["online"] = (int)Application["online"] - 1;//在线人数减1 Application.UnLock(); }/script
式设置为 StateServer // 或 SQLServer,则不会引发该事件。 Application.Lock(); Appl
rMsg; // Create EventLog if It doesn't exist if (!System.Diagnostics.EventLog.SourceExists(LogName)) { System.Di