zoukankan      html  css  js  c++  java
  • 解决刷新使得点击数多次变化问题

    利用token构想,

    首先在jsp页面定义token字符串,在客户端和服务器最开始的时候都是一样的,然后通过servlet处理判断它们相同的话 就更新,然后删除服务器端的token。 以后每次刷新进入servlet的时候 服务器的token不存在所以 不继续增加点击数了。

    在外面页面定义

     1         <%
     2             //最开始进入的时候服务器和客户端都是相同的tokens,在servlet处理之后 服务器的tokens被删除了
     3             //所以接下来服务器和客户端 tokens匹配就不一样了,所以只刷新一次
     4             String token=WebUtil.getRandomValue();
     5             session.setAttribute("token", token);
     6         %>
     7 
     8  <a href ="${pageContext.request.contextPath}/BbsServlet?method=findAllTopicByTypeId&typ 
    9 eId=${type.id}&token=${token}" style="text-decoration:none">${type.name}</a>
    <td>${type.click}</td> //点击数

    在servlet端

     1             int typeId=Integer.parseInt(request.getParameter("typeId"));
     2             
     3             
     4             //表单重复提交 多次刷新 问题
     5             //客户端和服务器端口的token 在 listAll中 放了的
     6             String tokenClient=request.getParameter("token");
     7             String tokenServer=(String) request.getSession().getAttribute("token");
     8             if(null!=tokenClient&&null!=tokenServer&&tokenClient.equals(tokenServer))
     9             {
    10                 bbsService.updateClickByTypeId(typeId);    //向数据库中点击数+1
    11                 request.getSession().removeAttribute("token");
    12             }
    13             
  • 相关阅读:
    fastadmin编辑内容,有下拉选择关联的内容,自定义的参数去获取相应的下拉内容
    fastadmin 全手动添加规则
    微擎转移服务器后,出现 require()错误,解决方案
    laravel 路由
    装饰器练习
    python笔记(五)装饰器函数
    练习函数
    练习一
    python笔记(四)文件操作和函数
    py3和py2的差别(补充)
  • 原文地址:https://www.cnblogs.com/friends-wf/p/3709493.html
Copyright © 2011-2022 走看看