社区
Web 开发
帖子详情
关于重复提交的问题
NFSP
2010-06-10 03:51:45
现有一个页面A,这个页面上有很多超链接(每个超链接代表不同的含义),但都是提交到同一个action,当点其中一个action后页面跳转到另一个页面B,但是在B页面上如果用户不断刷新就会发生重复提交的问题。为此在B页面使用了令牌机制,现在用户是无法在B页面重复提交了,但是原来A页面的所有超链接也都不能用了,请问要如何识别何时是正常提交,何时又是重复提交?
...全文
240
17
打赏
收藏
关于重复提交的问题
现有一个页面A,这个页面上有很多超链接(每个超链接代表不同的含义),但都是提交到同一个action,当点其中一个action后页面跳转到另一个页面B,但是在B页面上如果用户不断刷新就会发生重复提交的问题。为此在B页面使用了令牌机制,现在用户是无法在B页面重复提交了,但是原来A页面的所有超链接也都不能用了,请问要如何识别何时是正常提交,何时又是重复提交?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ZeekerLin
2010-06-11
打赏
举报
回复
应该是判断是否重复提交的方法有问题,你没有区分好A页面多个请求的区分,你当成了同一类请求,一旦有过一次请求,其它请求都被当成了重复提交了。
你可以参考
利用struts的同步令牌机制避免form的重复提交
恶魔
2010-06-11
打赏
举报
回复
struts里有个TOKEN用这个吧,实现防止表单重复提交,你的第一个页面也不会出现链接不好使的问题了,我试过的
wenwengo
2010-06-11
打赏
举报
回复
[Quote=引用 8 楼 zyc2009 的回复:]
只有一个action怎么加参数
[/Quote]
你从页面跳转到Action里面不是有路径吗,在那后面加,然后在Action里面根据参数判断是从哪个页面跳过来的
NFSP
2010-06-10
打赏
举报
回复
[Quote=引用 9 楼 ronniegxq 的回复:]
不明白楼主的意思,如果此时你已经到了b页面,那么你怎么去点a页面的链接
如果此时你在a页面,你说所有连接都不能用,那你怎么能去b页面。
[/Quote]
B页面是在新窗口中
NFSP
2010-06-10
打赏
举报
回复
我没说明白。。。。
我说的链接不能用不是指真的不能用,是说你再点A页面的链接会被当做是在重复提交而转到别的页面
lihui820905
2010-06-10
打赏
举报
回复
真的很佩服那些还能给出解答方案的人
lihui820905
2010-06-10
打赏
举报
回复
哎,看来我语文没学好
charles_wang8888
2010-06-10
打赏
举报
回复
如果提交了之后,把按钮 失效之,invalidate,然后就无法重复提交了
ronniegxq
2010-06-10
打赏
举报
回复
不明白楼主的意思,如果此时你已经到了b页面,那么你怎么去点a页面的链接
如果此时你在a页面,你说所有连接都不能用,那你怎么能去b页面。
NFSP
2010-06-10
打赏
举报
回复
只有一个action怎么加参数
wenwengo
2010-06-10
打赏
举报
回复
加个参数 判断是从哪个链接跳过来的
YangWenChaoX
2010-06-10
打赏
举报
回复
在action里用一个数组记住是从哪个超链接来的。。。
NFSP
2010-06-10
打赏
举报
回复
怎么说话都说不清了。
在A页面saveToken,然后在B页面判断isTokenValid,为true的话就不是重复提交,正常执行;为false的话就判断为重复提交,跳转到别的页面。
gulang76
2010-06-10
打赏
举报
回复
页面逻辑有问题,好好想想
izard999
2010-06-10
打赏
举报
回复
[Quote=引用 2 楼 zyc2009 的回复:]
在B页面判断isTokenValid,所有连接都是提交到同一个action,action都是提交到同一个页面
[/Quote]
这句话很矛盾也
NFSP
2010-06-10
打赏
举报
回复
在B页面判断isTokenValid,所有连接都是提交到同一个action,action都是提交到同一个页面
Java技术栈
2010-06-10
打赏
举报
回复
很好奇 为什么刷新B页面为什么重复提交 ?
使用重定向了没 struts配置文件中 type="redirect"
重复
提交
问题
场景描述 表单
提交
,
重复
提交
,导致生成相同的两条记录。 情况罗列 APP
重复
提交
: 1.弱网环境下点击【
提交
】后页面跳转较慢,此时再次点击【
提交
】。 2.
提交
后通过滑动屏幕返回前一页面再次点击【
提交
】。 3.
提交
后通过点击【返回】退到前一页面再次点击【
提交
】。 Web端
重复
提交
: 1.弱网环境下点击【
提交
】后页面跳转较慢,此时再次点击【
提交
】。 2.
提交
后,在服务端响应慢的情况下,【刷新】
提交
请求。 3.使用浏览器【后退】按钮
重复
之前的操作,导致
重复
提交
表单。 4.使用浏览器【历史记录】
重复
提交
表单。 5.
jsp
重复
提交
问题
看了网上的,有几种方法: 1 在你的表单页里HEAD区加入这段代码: <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="
幂等性、
重复
提交
、ABA
问题
幂等性、
重复
提交
、ABA
问题
Java表单
重复
提交
问题
采用redis,切面编程,自定义注解,对获取ip和uri作为key,时间戳作为value 每次访问接口,若是该key存在,则进行限制,若是存在,则判断现在距离上次
提交
时间小于设置的默认时间 则 判断为
重复
提交
否则 正常
提交
-> 进入业务处理
Java中的表单
重复
提交
问题
问题
:使用forward转发请求后,再次刷新当前页面,会进行
重复
提交
; 例子:使用LoginServlet进行登录,成功后跳转到login页面,刷新当前页面,再次直接进行了登录;如果这是支付、买票等页面,
重复
提交
将导致严重后果。因此要解决
重复
提交
的
问题
。 为了能够解决
重复
提交
问题
,关键在于:能够标志一次
提交
,从而识别出该
提交
已经处理。下面是主要处理过程: /*login.jsp页面,主要作用是...
Web 开发
81,111
社区成员
341,726
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章