`

防止表单数据重复提交

阅读更多
struts1.x防止表单数据重复提交的原理是:当首次进入表单页面时,在action中生成一个随机数,调用this.saveToken(request)方法,保存到session中,当action跳转到表单页面时在页面上设置一个hidden域,value为生成的随机数,随着表单一起提交。在表单提交的action中对token的值进行比较。调用isTokenValid(request)方法。该方法对session中保存的token值和页面hidden中传递的值进行比较。如果相等判断为不是重复提交,否者判断为重复提交。

注意:表单jsp页面的form必须是struts的<html:form></html:form>否者不会再页面自动生成hidden域,如果提交的话会一直判断为重复提交。


根据以上原理:可以自己实现防止页面重复提交。
(1)当用户登录时再session中设置一个attribute,该attribute的值尽量要保持唯一性。
(2)再需要提交表单数据的页面自己手写一个hidden域,value为第一步设置的值。
(3)提交表单,判断传递的hidden域与session中的attribute是否相等。相等则返回true,同时修改session中attribute的值。(该值得生成可以自己定义生成规则,但是要尽量确保唯一)。
分享到:
评论

相关推荐

    防止Layui form表单重复提交的实现方法

    在这个函数内部,返回false可以阻止表单的提交,即阻止表单数据被发送到服务器,从而避免重复提交。 在上述函数中,如果需要在禁止表单默认提交行为的同时,与服务器进行数据交互,则可以使用JavaScript的...

    javascript方式防止表单重复提交

    在Web开发中,表单重复提交是一个常见的问题,可能导致数据的冗余或错误。JavaScript作为客户端脚本语言,可以通过多种策略来防止用户意外或恶意地多次提交表单。以下是一些关键的知识点: 1. **禁用提交按钮**:最...

    springboot2.1+redis+拦截器 防止表单重复提交

    在现代Web应用开发中,防止表单重复提交是一项重要的任务,因为这可能导致数据不一致性和服务器资源浪费。本文将深入探讨如何使用Spring Boot 2.1、Redis和拦截器来实现这一功能。以下是对这个主题的详细解释: ...

    防止表单重复提交

    在Web开发中,表单提交是一项基础且关键的操作,它允许用户向服务器发送数据进行...总的来说,防止表单重复提交是一个多层面、多层次的问题,需要综合运用客户端和服务器端的技术,以确保应用的稳定性和数据的一致性。

    spring boot 防止重复提交实现方法详解

    Spring Boot 防止重复提交是指在用户提交表单或请求时,防止同一客户端在短时间内对同一 URL 的重复提交,从而避免服务器端的处理压力和数据的一致性问题。下面将详细介绍 Spring Boot 防止重复提交实现方法的相关...

    防止表单重复提交(asp.net )

    在ASP.NET web应用程序...综上所述,防止表单重复提交是保证ASP.NET应用数据完整性的重要一环。通过综合运用服务器端和客户端的验证机制,以及区分新打开页面和刷新页面的策略,我们可以构建更健壮、更安全的Web应用。

    防止用户表单重复提交处理

    3. **事务控制**:在处理表单数据时,使用数据库事务来确保数据的一致性。如果在处理过程中出现错误,事务可以回滚,防止数据状态混乱。 此外,还可以结合前端和后端策略: - **设置请求头**:前端可以在请求头中...

    sturts2防止表单的重复提交 token

    在Web开发中,防止表单重复提交是一个常见的需求,尤其是在处理敏感数据或者执行不可逆操作时。Struts2为解决这个问题引入了Token机制,确保每个表单提交只被处理一次,避免了由于用户意外刷新页面导致的重复请求。 ...

    [Jsp]防止页面表单重复提交的解决方法

    二、防止表单重复提交的方法 1. **使用JavaScript禁用提交按钮** 在表单提交时,可以使用JavaScript来禁用提交按钮,以防止用户连续点击。例如: ```javascript function disableSubmit() { document....

    java实现防止表单重复提交

    服务器端避免表单的重复提交,利用同步令牌来解决重复提交的基本原理如下:(1)用户访问提交数据的页面,服务器端在这次会话中,创建一个session对象,并产生一个令牌值,将这个令牌值作为隐藏输入域的值,随表单一起发送到...

    ASP.NET中防止刷新页面造成表单重复提交

    ### ASP.NET中防止刷新页面...通过上述方法,可以在不影响用户体验的前提下有效地防止表单重复提交,从而提高系统的稳定性和安全性。这种方法适用于大多数Web应用场合,特别是那些对数据准确性和一致性要求较高的场景。

    防止页面刷新重复提交的方法.

    防止页面刷新重复提交是 Web 开发中常见的问题,多次提交表单可能会导致不必要的数据重复录入、服务器压力增大等问题。下面我们将详细介绍防止页面刷新重复提交的方法。 一、验证码方法 验证码方法是防止页面刷新...

    element-ui如何防止重复提交的方法步骤

    在IT行业中,尤其是在前端开发领域,防止用户重复提交是一项重要的任务,这有助于避免因网络延迟或用户误操作导致的数据混乱。Element-UI,一个流行的Vue.js组件库,提供了多种方式来处理这个问题。以下是如何在使用...

    struts2 防止表单重复提交的例子

    Struts2框架提供了一种解决方案,即使用Token机制来防止表单的重复提交。以下是对这个主题的详细说明: 1. **表单重复提交问题**:当用户在提交表单时,由于网络延迟或用户误操作,可能会导致同一个表单被多次提交...

    浅谈利用Session防止表单重复提交

    浅谈利用Session防止表单重复提交 Session是Web应用程序中的一种机制,用于存储用户的会话信息。在Web应用程序中,表单重复提交是一个常见的问题,可能会导致数据库中产生冗余数据,浪费数据库资源。利用Session...

    自定义标签防止表单重复提交

    本文将深入探讨如何通过自定义标签来防止表单的重复提交,以确保数据的一致性和系统的稳定性。 首先,理解表单重复提交的问题。当用户点击提交按钮时,如果网络连接不稳定或者用户快速多次点击,可能会导致同一份...

Global site tag (gtag.js) - Google Analytics