jsp文章(帖子)访问率(阅读数)功能实现问题

C-J 2014-05-14 12:51:38

我想法是:一个ip为一个访问数,不得重复,用Cookie实现,然后判断,代码如下

<%!
int i=0;
%>
<%
Cookie[] mycookie = request.getCookies();
for(int n=0; n<mycookie.length; n++){
Cookie newcookie = mycookie[n];
if(!newcookie.getName().equals("ip")){
Cookie cookie = new Cookie("ip",request.getRemoteAddr());
response.addCookie(cookie);
}else{
i++;
break;
}
}
out.print(" 访问数 = " + i);
%>

我怎么感觉怪怪的呢,毕竟没做过,希望专业人士给个指导!
...全文
213 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
什么都不能 2014-05-17
  • 打赏
  • 举报
回复
引用 7 楼 u011222719 的回复:
引用 5 楼 hanpoyangtitan 的回复:
可以看下各大网站怎么样做访问统计的,不是你这个这样的做法,当然也不能直接在后台做。不能把robot的访问也算作用户的正常访问。
请教一下
要想记录真正用户的访问,那要等用户访问的资源加载完毕后再发送一个http请求记录用户的访问行为,用户网站行为跟踪博大精深,免费的可以看下51.la,google analytics,还有专门的厂商webtrends之类,都是用js发http请求到后台记录到日志文件中,然后再分析日志文件。
C-J 2014-05-16
  • 打赏
  • 举报
回复
引用 8 楼 mysticality 的回复:
Google Analytics 你可以看看。如果要做自己的访问统计系统,自己搭一个Piwik,参考这个开源实现
谢谢
C-J 2014-05-16
  • 打赏
  • 举报
回复
引用 4 楼 u011106536 的回复:
访问量的话,直接使用application对象不就好了,还与那个一个ip为一个访问数,这个没什么必要吧! <% Integer count = (Integer)application.getAttribute("count"); if(count != null){ count = 1 + count; }else{ count = 1; } application.setAttribute("count",count); %> 放到你需要的位置: <% Integer i = (Integer)application.getAttribute("count"); out.println("统计访问量:目前有 " + i +" 个人访问过本网站" ); %> 要是想把访问量加到数据库,自己写代码即可。
这个不想用
影子传说_Hades 2014-05-16
  • 打赏
  • 举报
回复
Google Analytics 你可以看看。如果要做自己的访问统计系统,自己搭一个Piwik,参考这个开源实现
C-J 2014-05-16
  • 打赏
  • 举报
回复
引用 5 楼 hanpoyangtitan 的回复:
可以看下各大网站怎么样做访问统计的,不是你这个这样的做法,当然也不能直接在后台做。不能把robot的访问也算作用户的正常访问。
请教一下
C-J 2014-05-16
  • 打赏
  • 举报
回复
引用 3 楼 darrenzhong 的回复:
这个不能放在客户端来操作(也就是不能用cookie来记录),一般都是通过后台来记录的,然后还需要保存在数据库,而且这个不一定要现在每个IP只记录一次,如果要这样的话 也只能在数据库表里面加一个字段
后台请求我后面才做的,先把功能的实现弄清楚,没做过所以没思路
什么都不能 2014-05-15
  • 打赏
  • 举报
回复
可以看下各大网站怎么样做访问统计的,不是你这个这样的做法,当然也不能直接在后台做。不能把robot的访问也算作用户的正常访问。
丶白起 2014-05-15
  • 打赏
  • 举报
回复
访问量的话,直接使用application对象不就好了,还与那个一个ip为一个访问数,这个没什么必要吧! <% Integer count = (Integer)application.getAttribute("count"); if(count != null){ count = 1 + count; }else{ count = 1; } application.setAttribute("count",count); %> 放到你需要的位置: <% Integer i = (Integer)application.getAttribute("count"); out.println("统计访问量:目前有 " + i +" 个人访问过本网站" ); %> 要是想把访问量加到数据库,自己写代码即可。
C-J 2014-05-14
  • 打赏
  • 举报
回复
有个字段,然后没访问过的+1,访问过的不操作。
darren中 2014-05-14
  • 打赏
  • 举报
回复
这个不能放在客户端来操作(也就是不能用cookie来记录),一般都是通过后台来记录的,然后还需要保存在数据库,而且这个不一定要现在每个IP只记录一次,如果要这样的话 也只能在数据库表里面加一个字段
C-J 2014-05-14
  • 打赏
  • 举报
回复
没有人弄过的吗?还是不理解?

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧