博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用struts2的token机制和cookie来防止表单重复提交
阅读量:6690 次
发布时间:2019-06-25

本文共 1165 字,大约阅读时间需要 3 分钟。

今天在做一个投票系统时要实现防止表单重复提交!

当时就想到了用struts2提供的token机制

struts2的token机制防止表单重复提交:

首先需要在提交的jsp页面(要使用token机制,必须使用struts2提供的标签库)加上

 

 

这段代码,然后在struts.xml里面需要进行如下配置:

 

/tokenSuccess.jsp
/tokenFail.jsp
//name必须是invalid.token

 

总的来说,struts2提供的token机制来防止表单重复提交还是挺方便的,但是有时却不一定很好的达到我们所需要的目的!

 

接下来是用cookie来防止表单重复提交,就拿今天做的投票系统的例子来说,通过将 每个投票选项的id以及"hasVote" + id的组合放到cookie里面,然后根据所需设置cookie存活时间,然后放到response里面,然后在处理投票的action里首先判断 cookie中的name是否是已经投过票的名称,如果是就重定向到重复提交页面!

 

Cookie[] cookies = request.getCookies();                            for(Cookie cookie : cookies)          {              if(String.valueOf(vote.getId()).equals(cookie.getValue()))              {                  response.sendRedirect("repeatSubmit.jsp");              }              else              {                  Cookie cookie2 = new Cookie("hasVote" + vote.getId(), String.valueOf(vote.getId()));                                            response.addCookie(cookie2);              }          }

 

我觉得cookie的这种方法更加实用一些,在实际中根据自己情况自行选择方式吧!

 

转载于:https://www.cnblogs.com/zhaolizhe/p/6936496.html

你可能感兴趣的文章
一对一培训之视频免费分享-2018-05-03-SFB 2015-外部不能登录(排错笔记)
查看>>
“互联网+”:工业革命的需求与变革
查看>>
配置Lync Server 2010自动设置位置
查看>>
Centos 5.5 上面安装Open***完整版上篇【服务端配置】
查看>>
TCL微电影节、娱乐营销内容是王道
查看>>
Azure运维系列 6:使用自定义映像创建虚拟机
查看>>
如何对部署完成的Hyper-v 3.0群集进行验证
查看>>
华硕手机的策略之变
查看>>
你敢不敢打破“无形门”
查看>>
我的家庭私有云计划-10
查看>>
mysql删除binlog日志及日志恢复数据的方法
查看>>
八款开源 Android 游戏引擎 (巨好的资源)
查看>>
读书笔记:《重来REWORK》
查看>>
Emacs学习笔记(3):帮助系统
查看>>
Dynamic Proxy (动态代理模式)
查看>>
《JavaScript高级程序设计》阅读笔记(十四):继承机制的实现
查看>>
JavaScript 电话手机号码正则表达式
查看>>
Android之TelephonyManager&GsmCellLocation类的方法详解
查看>>
[置顶] 小技巧总结
查看>>
HDU 1251 统计难题(字典树)
查看>>