注册 登录
编程论坛 J2EE论坛

[求助]新手简问题单!怎样记录首页的打开次数?

SamQ 发布于 2007-07-11 16:53, 1065 次点击
我想记录网站首页打开的次数??
包括会员和游客??
应该采用什么方法!
请各位大虾帮帮忙!!!!
希望副上代码
13 回复
#2
guoxhvip2007-07-12 00:21

用Application对象封装一下

#3
SamQ2007-07-12 09:19
可以在过滤器里定义一个记数的变量吗!
或者是保存到Session里可以吗!
#4
hardes2007-07-12 10:52
这只给思路,自己做会更加深刻点!!
用写个session的监听器啊,然后在那什么web.xml中配置下就行啦!!
然后在 用那什么Application保存该数据....在写个什么监听,服务器关闭时将数据写进数据库,下次启动服务器时将数据读出来就是,总之,先用session保存记录页面打开次数,然后在将数据用application保存....在将数据保存更新到数据库中....

[此贴子已经被作者于2007-7-12 11:16:38编辑过]

#5
hardes2007-07-12 11:22
ServlerContextListener
#6
SamQ2007-07-12 16:44
恩!谢谢!
有没有跟好一点用js记录呢!??
#7
hardes2007-07-13 12:42
我没明白你说的意思!!!
反正我做的时候都是用数据库记录的,在要不就用个记事本来存放就完了
这东西也不是很麻烦!!!至于其他的方式我没想过
好象也没有了,这都是服务器端的问题.你说的JS不知道是不是说的脚本,如果是脚本的话我看是不行的!
因为很简单,这是服务器端的问题,你没办法在客户端解决的,至少我认为是这样.呵呵
#8
nhy5202007-07-15 20:13
js javascrip
#9
SamQ2007-07-18 14:13

其实我最终发现用javascrip做也很好!就是用cooike来 记数!

#10
hardes2007-07-18 21:36
啊???
有这么一说啊,呵呵...看来我的确是老了!跟不上形式了!!!
哈哈............
怎么实现能请教下你吗?
#11
SamQ2007-07-23 09:34
其实也不是什么好的方法!
在没有用之前我没看到效果!用了之后居然发现不是很好~!实际上是一个骗的把戏!
就是用cooike记录页面打开的次数!刷新一次就记录一次!这只是在客户端显示!并不记录到数据库中!
大家都知道当IE关闭之后cooike就自动销毁!当你再次打开的时候!产生一个新的cooike来重新记数!
所以总的来讲不是一个好的方法!只是把戏而已!
#12
hardes2007-07-23 10:30
你这不扯滴吗?
什么叫IE关闭之后,那什么cookies自动销毁了???????
我还闹不明白你说的啥意思,cookies是在你客户端的机器上创建一个文件啊以键值形式保存数据啊,至于说消失的时间是由你自己决定的!!
我晕....在说什么呀??

#13
gudongbo2007-07-25 04:00

他是在说在自己的电脑上创建了一个cookies变量
然后自己在自己的电脑上刷新IE的时候,就让变量++

............

不知道我的理解对不对

难为hardes了,人家可能开发的是B/S单机版...

[此贴子已经被作者于2007-7-25 4:01:51编辑过]

#14
netstriker2007-07-25 09:58

我系刚学jsp的,我写了小段代码,有什么改进之处请指出,
页面的基本功能是如果是同一台机器上五分钟内是不可以使访问人数增加的,就是不能只刷新页面就可以增加人数.
使用application储存人数
在tomcat + Ecplise测试通过~

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="javax.servlet.http.*" %>
<%
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>My JSP 'visit.jsp' starting page</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>
<%
Cookie cookie=new Cookie("visitor"+request.getLocalAddr(),"google.com.cn");
cookie.setMaxAge(60*5); //cookie的时间要在五分钟后
Cookie cookieArray[]=request.getCookies();
int i=0;
boolean isVisit=false;
while(i<request.getCookies().length) //列出所有的cookie这样就可以知道在五分钟内有没有重复提交了
{
String name=cookieArray[i].getName();
String myname=cookie.getName();
if(name.equals(myname))
{
isVisit=true;
break;
}
i++;
}
if(!isVisit)
{
response.addCookie(cookie);
if(null==(Integer)application.getAttribute("visitNum"))
{
application.setAttribute("visitNum",new Integer(0));
}
int num=(Integer)application.getAttribute("visitNum");
//out.print(num);
application.setAttribute("visitNum",++num);
}
%>
现在一共有<%= (Integer)application.getAttribute("visitNum") %>访问此页面
</body>
</html>

或者封装成一个javabean的话会更好一些

[此贴子已经被作者于2007-7-25 10:00:17编辑过]

1