大侠们。。如何做一个网页点击量的统计。 想做一个关于网页点击统计量的程序。就是当点击一下网页的时候就统计一下。不用js,用jsp和java怎么实现。最好给个列子。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 到数据专家http://www.cnzz.com/,注册一个账号,然后把里面的代码增加到你的网站页面。就可以你统计点击量。 简单的网页计数器:<%!int number = 0;synchronized void addNumber(){ number++;}%><%this.addNumber();%>本网页的访问次数是:<%=number %>次 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="java.io.*" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>网站访问计数器</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body bgcolor=white><font size=4> <%! int number=0; File file=new File("count.txt"); synchronized void countPeople(){//计算访问人数的方法 if(!file.exists()){ number++; try{ file.createNewFile(); FileOutputStream out=new FileOutputStream("count.txt"); DataOutputStream dataOut=new DataOutputStream(out); dataOut.writeInt(number); out.close(); dataOut.close(); } catch(IOException ee){} } else{ try{ FileInputStream in=new FileInputStream("count.txt"); DataInputStream dataIn=new DataInputStream(in); number=dataIn.readInt(); number++; in.close(); dataIn.close(); FileOutputStream out=new FileOutputStream("count.txt"); DataOutputStream dataOut=new DataOutputStream(out); dataOut.writeInt(number); out.close(); dataOut.close(); } catch(IOException ee){} } } %> <% countPeople(); %> <p>您是第<%=number %>个访问本站的客户</p> </font> </body></html>你可以试试JSP页面写的 number变量声明的时候是static才行,不然另一个用户进来又重新开始计数了 我觉得用application就可以了,再配合一些逻辑计算,很简单,一点都不复杂,不需要那么都的代码! 用 application 就可以的啊。 示例 application???、? 最好是把访问IP存到数据库里,防止用户过量刷新,一个IP地址一天访问只按一次算 在数据库里建表,对表进行操作,又或者用Application进行操作 我觉得用servletContext可以,在网站的服务器重启之前把SESSION里面统计的number存到数据库 session解决不了的,重启一下应用不就完了.就算不重启,多台服务器怎么办?session延迟怎么办?建议建表,根据ip来统计比较准确. 分页后只能显示第一条~求助 如何在eclipse中创建web项目啊 jsp故障,求各位大哥一定帮帮忙 如何在按钮的事件上引用我从数据库里拿的值 大家帮个忙啊,急,hibernate报错,在线等 高手指教!关于jsp字符串的问题,为什么会出现这种情况?大家指教! 有人用过JRockit吗?比用SUN的JVM能快多少? extjs+ssh2 只能执行到action层 救命:tomcat4.04下配置连接池,连接sql server2000出现问题!!!在线等待! 如何用jsp实现文件上传? 求解Myeclise里图片路径的问题 HTTP Status 500 - 错误
<%!
int number = 0;
synchronized void addNumber(){
number++;
}
%>
<%
this.addNumber();
%>
本网页的访问次数是:<%=number %>次
<%@ page import="java.io.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>网站访问计数器</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body bgcolor=white><font size=4>
<%! int number=0;
File file=new File("count.txt");
synchronized void countPeople(){//计算访问人数的方法
if(!file.exists()){
number++;
try{
file.createNewFile();
FileOutputStream out=new FileOutputStream("count.txt");
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();
dataOut.close();
}
catch(IOException ee){}
}
else{
try{
FileInputStream in=new FileInputStream("count.txt");
DataInputStream dataIn=new DataInputStream(in);
number=dataIn.readInt();
number++;
in.close();
dataIn.close();
FileOutputStream out=new FileOutputStream("count.txt");
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();
dataOut.close();
}
catch(IOException ee){}
}
}
%>
<%
countPeople();
%>
<p>您是第<%=number %>个访问本站的客户</p>
</font>
</body>
</html>
你可以试试JSP页面写的
number变量声明的时候是static才行,不然另一个用户进来又重新开始计数了
建议建表,根据ip来统计比较准确.