当前位置:编程学习 > JAVA >>

重复提交的问题

用注册用户来举例 当用户填写好信息之后 就是当用于按了提交按钮之后,由于网络延迟等原因,页面没有跳转,这时用户在修改一下信息再按提交,如何处理这种情况?12 --------------------编程问答-------------------- 重复提交应该避免不了吧,你在服务器端注册的时候判断用户名是否被注册了,如果已经被注册了,就返回注册失败就是了,这样第二次的重复提交反正是失败的,不影响使用。 --------------------编程问答-------------------- js解决。
提交一次之后页面标记位置为false,此状态下不提交。
接受返回值之后再把标记为置为true --------------------编程问答--------------------
引用 1 楼 bluemoby 的回复:
重复提交应该避免不了吧,你在服务器端注册的时候判断用户名是否被注册了,如果已经被注册了,就返回注册失败就是了,这样第二次的重复提交反正是失败的,不影响使用。


如果是网络延迟。。等待服务端的回应时~又去修改了东西再按提交,这样应该都是算重复提交,现在就是想解决这个问题 --------------------编程问答--------------------
引用 2 楼 AA5279AA 的回复:
js解决。
提交一次之后页面标记位置为false,此状态下不提交。
接受返回值之后再把标记为置为true


您说的也是一个方案啊,谢谢!! --------------------编程问答-------------------- 令牌,有点乐观锁的意味

生成表单的时候,生成一个随机数,放在session里面,同时页面上也弄一个hidden,内容就是这个随机令牌。
提交的时候,检查session与request parameter是否一致。如果一致,才能继续。检查完毕,立即将session令牌更换或者清空。当然,如果很频繁的,可能注意同步什么。
--------------------编程问答--------------------
引用 5 楼 shine333 的回复:
令牌,有点乐观锁的意味

生成表单的时候,生成一个随机数,放在session里面,同时页面上也弄一个hidden,内容就是这个随机令牌。
提交的时候,检查session与request parameter是否一致。如果一致,才能继续。检查完毕,立即将session令牌更换或者清空。当然,如果很频繁的,可能注意同步什么。

这个操作虽然好像有点麻烦~不过还是有道理的~
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,