jsp servlet如何防止重复提交
当用户提交的时候(第一次页面提交),系统首先需要生成一个随机号,在服务器端进行保存并在jsp表单中绑定这个生成的随机号(可以理解),当jsp表单提交时(这是什么提交,另一...
当用户提交的时候(第一次页面提交),系统首先需要生成一个随机号,在服务器端进行保存并在jsp表单中绑定这个生成的随机号(可以理解),当jsp表单提交时(这是什么提交,另一次页面提交?)服务器端接收用户提交的这个随机号然后与服务器端保存的随机号进行对比(不理解了,这里帮我解释解释吧),如果随机号相同的话,执行提交操作,并把服务器端保存的随机号销毁。如果不同的话提示用户重复提交。
展开
3个回答
展开全部
第一句话有问题:
“当用户提交的时候”改为“当用户访问提交页面”,全文其实只提了一次提交。
全文意思是当用户访问提交页面,在服务器生成随机号并保存在表单的隐藏域中,用户填写完毕点击提交按钮,服务器比对随机号,服务器存在此随机号则是第一次提交,可以执行正常操作,然后销毁此随机号。如果此时用户再次点击提交,则服务器端的随机号已经被销毁了,就可以判断出是重复提交了。
“当用户提交的时候”改为“当用户访问提交页面”,全文其实只提了一次提交。
全文意思是当用户访问提交页面,在服务器生成随机号并保存在表单的隐藏域中,用户填写完毕点击提交按钮,服务器比对随机号,服务器存在此随机号则是第一次提交,可以执行正常操作,然后销毁此随机号。如果此时用户再次点击提交,则服务器端的随机号已经被销毁了,就可以判断出是重复提交了。
追问
全文意思是当用户访问提交页面,在服务器生成随机号并保存在表单的隐藏域中,用户填写完毕点击提交按钮,服务器比对随机号 ......
感觉这个过程,是不是有问题,原本应该是“我”先点击页面提交按钮,成功进入一个页面后在进行F5刷新,之后出现问题....读不明白了.....
追答
你按F5刷新,点重试,就是重复提交了。由于上一次提交已经完成,随机号在服务器端已经被销毁。所以这次刷新提交服务器就可以知道是重复提交的了
展开全部
当jsp表单提交时(这是什么提交,另一次页面提交?) --- 重复提交,
如果随机号相同的话,提示用户重复提交。
如果随机号不同的话,执行提交操作。
或者(看括号):
当用户提交的时候(进入到需要提交信息的页面),系统首先需要生成一个随机号,在服务器端进行保存并在jsp表单中绑定这个生成的随机号,
当jsp表单提交时(第一次页面提交)服务器端接收用户提交的这个随机号然后与服务器端保存的随机号进行对比(这就简单了,是第一次比对),
如果随机号相同的话,执行提交操作,并把服务器端保存的随机号销毁(第一次提交)。
如果不同的话提示用户重复提交(服务器端随即号已销毁)。
如果随机号相同的话,提示用户重复提交。
如果随机号不同的话,执行提交操作。
或者(看括号):
当用户提交的时候(进入到需要提交信息的页面),系统首先需要生成一个随机号,在服务器端进行保存并在jsp表单中绑定这个生成的随机号,
当jsp表单提交时(第一次页面提交)服务器端接收用户提交的这个随机号然后与服务器端保存的随机号进行对比(这就简单了,是第一次比对),
如果随机号相同的话,执行提交操作,并把服务器端保存的随机号销毁(第一次提交)。
如果不同的话提示用户重复提交(服务器端随即号已销毁)。
追问
谢谢了
当jsp表单提交时(这是什么提交,另一次页面提交?) --- 重复提交,
如果随机号相同的话,提示用户重复提交。 这是不是应该是 执行提交操作。是不是反了啊?
如果随机号不同的话,执行提交操作。
我读不明白了。不好意思啊
追答
第一种解答,我想了一下,是解释不通的。只有第二种是正确的。当用户提交的时候,即进入到需要提交信息的页面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在客户端也可以做控制,就是用户点击提交按钮的时候把提交按钮设置成不可用状态。不过这个方法是不保险的,如果用户强制刷新页面的话会出问题!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询