如何做一个网站流量统计,要求有“总访问量”、“总浏览量”、“今日访问”、“日均访问”、“当前在线”五个功能,我们的网站是不连接外网的,是内部网站,哪位大哥有js代码麻烦提供下,小弟非常着急跪谢了!!!
解决方案 »
- 求解一个问题 struts2返回json的问题 在线等 急
- jsp中为"null" 时让它等于""
- 救命!菜鸟求上传组件怎么用!
- javascript修改input的name属性值
- 请问request.getAttribute()和request.getParameter()有什么区别?
- 排式打印机的原理!谢谢
- 急~~~~~~~无法及时显示修改后的servlet
- 在jbulder 7下web application的jsp文件为什么只能在Root directory下面?
- 小白跪求大佬们帮忙解决一下下拉框选中
- 急急急,已经俩天了,cas 单点登录报The server encountered an internal error that prevented
- 悲剧的jspsmart内存泄漏。。。
- SQL执行时报错,,求高手指点
今日访问:filter过滤器,过滤所有请求,一次请求加1,做个定时器,到晚上12点,保存一次数据(年月日+访问次数),清一次0.
总浏览量:把所有今日访问量表加起来.
日均访问:除法.
当前在线:监听session,创建一个加1,销毁一个减1.以上均为全局变量.
一切数据都来自session
我建议是采用Application做,每天0点清0(其实相当于!定义)
当用户访问时相当于计数器,当用户退出时采用js的句柄onunload,加载另一个页面,对application减1。
<%@ page contentType="text/html;charset=gb2312" %>
<!--jsp计数器-->
<%-- 以前学ASP时,用ASP做防止刷新的计数器很简单,以下是一个用JSP做的计数器--%>
<html>
<head>
<title>jsp计数器</title>
</head>
<body>
<table width="100%" height="78" border="0" align="center" cellpadding="-2" cellspacing="-2">
<tr>
<td height="13" colspan="5"><div align="center">
<a href="manage/Login_M.jsp"><hr width="100%" size="1"></a>
</div></td>
</tr>
<tr>
<td width="124" height="13"> </td>
<td height="13" colspan="3" align="center">日照家教网服务热线:15065573767</td>
<td width="141"> </td>
</tr>
<tr>
<td height="15" colspan="2"> </td>
<td width="464" valign="bottom" align="center">CopyRight © 2009 日照家教网</td>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"> </td>
<td align="center"> <%
//out.println(request.getHeader("Cookie"));
String currentRecord = null;//保存文本的变量
BufferedReader file; //BufferedReader对象,用于读取文件数据
//String nameOfTextFile = "count.txt";
String nameOfTextFile = "E:/tomcat6.0.14/webapps/a/count.txt";
//读取
file = new BufferedReader(new FileReader(nameOfTextFile));
String readStr =null;
int writeStr =0; //如果计数文本中的计数值为空则让它显示时变成1并写入
try
{ readStr = file.readLine(); }
catch (IOException e)
{ System.out.println("读取数据错误."); }
if (readStr == null) readStr = "没有任何记录";
//判断cookie,第一次登陆时加1,刷新时不累计计数
else if (request.getHeader("Cookie")==null)
{ writeStr = Integer.parseInt(readStr)+1;}
else
{ writeStr = Integer.parseInt(readStr);}
//写入时控制因为刷新引起的重复计数
if (request.getHeader("Cookie")==null)
{
try {
PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile));
pw.println(writeStr);
pw.close();}
catch(IOException e) {
out.println(e.getMessage());}
}
%>
<p align="center">您是CNJSP的第<b><font color="red"><%=writeStr%></font></b>位客人。</p> </td>
<td colspan="2"> </td>
</tr>
<tr bgcolor="#cccccc" align="center">
<td height="8" colspan="2"></td>
<td height="8" align="center"></td>
<td height="8" colspan="2"></td>
</tr>
</table>
<%@ page import="java.io.*" %>
</body>
</html>