网站设计中防止刷新增加点击率

     如果想在页面上显示帖子或文章,或别的东西的点击率,但要防止客户端刷新时点击率的增加。简而言之,想达到的目的是:客户端刚打开该页面时,点击率加1,客户端刷新该页面时,不加1,客户端后退,再前进或点击回到该页面时,点击率不加1。

     举个例子,若页面上要显示点击率(jsp)

 

     点击率:<font color="blue"><s:property value="communityVoice.click" /></font><br>

 

     在后台,我是这么来控制的:

     // 展示帖子的详细信息。
     public String show() {

          //找到这个帖子
          this.communityVoice = communityVoiceService.find(id);
  
          // 防止刷新增加点击率
          ActionContext ctx = ActionContext.getContext();
          HttpServletRequest request = (HttpServletRequest)              

                                                        ctx.getServletActionContext.HTTP_REQUEST);
         HttpSession session = request.getSession();

         //获取客户端的ip
         String ip = request.getRemoteAddr();
         //如果session中没有这个ip的信息

         if (session.getAttribute(ip) == null) {
            // 用户点击进入时获取其ip,写入session
            session.setAttribute(ip, ip);

            //点击率加1
            communityVoice.setClick(communityVoice.getClick() + 1);
          }

          //如果session中已有该ip的信息

         if (session.getAttribute(ip) != null) {
              if (session.getAttribute(ip).toString().equals(ip)) {
            } else {
              communityVoice.setClick(communityVoice.getClick() + 1);
           }
        }
  
         communityVoiceService.save(communityVoice);
    return Action.SUCCESS;
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值