首页 > 代码库 > 解决刷新使得点击数多次变化问题
解决刷新使得点击数多次变化问题
利用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 ="http://www.mamicode.com/${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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。