一点拙见,仅供参考:
1.提示并跳转到指定页面,防止重复提交页面,(跳转到其他页面时会防止后退键的使用)代码:out.print("<script>alert('Success(确认提交)!');window.location.href='show.aspx';</script>");
2.直接从新转到本页代码: response.sendRedirect(Request.Url.ToString());
3.按钮提交后将其变为灰色
4.插入之前可以在数据库中先判断是否有相同的记录,主键除外。
方法很多如果用struts的话有一个token 。或者在页面放一个隐藏的表单再或者用div当点击提交的时候直接锁屏
使用Struts的Token机制解决表单的重复提交
Struts的Token(令牌)机制能够很好的解决表单重复提交的问题,基本原理是:服务器端在处理到达的请求之前,会将请求中包含的令牌值与保存在当前用户会话中的令牌值进行比较,看是否匹配。在处理完该请求后,且在答复发送给客户端之前,将会产生一个新的令牌,该令牌除传给客户端以外,也会将用户会话中保存的旧的令牌进行替换。这样如果用户回退到刚才的提交页面并再次提交的话,客户端传过来的令牌就和服务器端的令牌不一致,从而有效地防止了重复提交的发生。
这时其实也就是两点,第一:你需要在请求中有这个令牌值,请求中的令牌值如何保存,其实就和我们平时在页面中保存一些信息是一样的,通过隐藏字段来保存,保存的形式如: 〈input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="6aa35341f25184fd996c4c918255c3ae"〉,这个value是TokenProcessor类中的generateToken()获得的,是根据当前用户的session id和当前时间的long值来计算的。第二:在客户端提交后,我们要根据判断在请求中包含的值是否和服务器的令牌一致,因为服务器每次提交都会生成新的Token,所以,如果是重复提交,客户端的Token值和服务器端的Token值就会不一致。下面就以在数据库中插入一条数据来说明如何防止重复提交。
分享到:
相关推荐
### ASP.NET 防止页面被多次提交 在 Web 开发中,特别是在 ASP.NET 这样的框架下,防止页面被多次提交是一个常见的需求。当用户点击提交按钮后,可能会因为网络延迟、误操作等原因而重复点击提交按钮,导致数据被多...
防止页面刷新重复提交是 Web 开发中常见的问题,多次提交表单可能会导致不必要的数据重复录入、服务器压力增大等问题。下面我们将详细介绍防止页面刷新重复提交的方法。 一、验证码方法 验证码方法是防止页面刷新...
然而,这种方法并不能完全防止所有情况下的重复提交,因为某些用户可能使用浏览器的刷新功能或者在网络延迟后多次点击。 ASP.NET MVC框架提供了一些内置机制来处理此问题。例如,可以使用`AntiForgeryToken`辅助...
同一个页面提交多个信息.rar同一个页面提交多个信息.rar同一个页面提交多个信息.rar同一个页面提交多个信息.rar同一个页面提交多个信息.rar同一个页面提交多个信息.rar同一个页面提交多个信息.rar同一个页面提交多个...
这种方法虽然简单有效,但用户体验较差,尤其是在用户不小心多次点击提交按钮时,可能会导致数据丢失或操作中断。 2. **清除表单数据**:即在表单提交后清除表单数据,使得即使用户刷新页面也不会有数据被提交。...
在Web开发中,"防止页面二次刷新"是一个重要的议题,主要涉及到的是防止用户无意或恶意地多次提交表单数据,这种情况通常称为"二次提交"或"重复提交"。这一问题可能会导致数据库中的数据异常,影响系统的稳定性和...
通常,用户在点击提交按钮后,由于网络延迟或刷新页面,可能会导致同一份表单数据被多次提交。为了防止这种情况,我们可以采取以下策略: 1. **前端控制**:在用户点击提交按钮后,立即禁用该按钮,以避免用户多次...
防卡页面刷新重复提交源代码,根据msdn上提供方法进行改造,解决了诸多bug,实用性很强
在使用JavaScript的Ajax请求时,如果在Ajax请求完成后没有阻止按钮的默认行为,即表单提交,就会发生“一次点击两次提交”的情况。下面详细探讨两种常用的解决办法。 ### 解决方案一:更改按钮的type属性 第一种...
重复提交通常发生在用户在未收到明确反馈的情况下尝试多次提交表单的情况。这种情况可能会导致数据库中出现重复的数据记录,从而影响数据的一致性和准确性。例如,在在线购物系统中,用户可能会担心支付请求没有被...
本实例"ASP实例开发源码—asp.net(c571)等待效果和防止多次提交的代码.zip"就是针对这些问题提供解决方案的源码示例。 1. **页面等待效果**: 在用户进行数据处理或页面跳转时,为了防止用户感觉系统无响应,通常...
ASP.NET 多次提交问题通常出现在用户快速连续点击提交按钮或者由于网络延迟导致的页面刷新时,这可能会导致数据重复录入或系统异常。为了解决这个问题,我们可以采取一些策略来防止这种多次提交的情况。 首先,我们...
在开发Web应用时,防止表单的多次提交是一个常见的需求,这可能导致数据重复或者逻辑错误。Struts2提供了Token插件来解决这个问题,确保每个表单提交只能被执行一次。下面将详细阐述Struts2中Token机制的工作原理、...
当用户点击提交按钮后,由于网络延迟或浏览器刷新等原因,可能导致同一份表单数据多次发送到服务器。如果不加以控制,服务器可能会处理多个相同的请求,造成数据冗余或错误操作。 二、防止表单重复提交的方法 1. *...
在网页应用中,用户可能会因误操作或网络延迟导致页面上的表单被多次提交,这被称为页面重复提交问题。为了解决这个问题,开发者通常会采取一些策略,其中使用注解是一种简洁有效的方法。本文将详细讲解如何利用注解...
在***开发中,页面按钮多次提交是一个常见问题,尤其在需要处理大量并发用户请求的场景下,这个问题会导致服务器资源(如CPU)占用率飙升,并可能引发数据库中的重复数据记录问题。针对这一问题,可以采取多种技术...
这是因为用户可以快速点击按钮,导致多次提交数据,从而导致数据重复提交的问题。 解决方法 解决该问题的方法是通过控制按钮的禁用状态来实现。具体来说,可以通过绑定按钮的 disabled 属性来控制按钮的点击和不可...
js 特效 html 特效 同一页面的多个提交信息 js 特效 html 特效 同一页面的多个提交信息
在微信小程序的开发过程中,避免用户因重复点击而导致页面多次跳转的问题是常见的需求。本文将详细介绍如何通过实现函数节流(throttle)的方式来防止在小程序中多次点击按钮导致的重复跳转。 函数节流的原理是在...