原文地址
http://wanchong958.iteye.com/blog/233791
// 页面代码start
<%
Random random = new Random();
//生成随机flag,
Integer flag=new Integer(random.nextInt());
session.setAttribute("flag",flag);
%>
//form代码
<input type=hidden name="flag" value="<%=flag%>">
//页面代码end
//处理表单代码 start
Integer flag =new Integer(Integer.parseInt(request.getParameter("flag")));
HttpSession session=request.getSession();
if (flag.equals(session.getAttribute("flag"))){
//在此调用dao
destroyFlag(session);
} else {
System.out.println("重复提交");
}
/**
* 销毁flag
* @param session
*/
public void destroyFlag(HttpSession session) {
session.removeAttribute("flag");
}
分享到:
相关推荐
本篇文章将探讨如何有效地防止JSP页面中的表单重复提交,确保系统的稳定性和数据的准确性。 一、理解表单重复提交的问题 当用户点击提交按钮后,由于网络延迟或浏览器刷新等原因,可能导致同一份表单数据多次发送...
本篇文章将深入探讨如何防止表单重复提交,主要关注于基于Struts2框架的解决方案。 首先,理解表单重复提交的原因。用户在点击提交按钮后,如果网络延迟或用户误操作导致页面刷新或再次点击提交,就可能发生重复...
在Web开发中,防止表单重复提交是一个常见的需求,尤其是在处理敏感数据或者执行不可逆操作时。Struts2为解决这个问题引入了Token机制,确保每个表单提交只被处理一次,避免了由于用户意外刷新页面导致的重复请求。 ...
本文将深入探讨这个问题,以及如何通过JavaServer Pages(JSP)技术来防止表单的重复提交。 首先,理解表单重复提交的情况。当用户点击提交按钮后,由于网络延迟或刷新页面等原因,可能会导致同一个表单的数据被多...
在处理用户交互时,尤其是表单提交,一个常见的问题是防止表单的重复提交。这可能导致数据的不一致性和其他问题。本文将深入探讨如何在Struts框架中利用Token机制来解决这个问题。 一、表单重复提交问题 表单重复...
本文将探讨三种防止JSP表单重复提交的方法。 首先,我们可以使用JavaScript来阻止表单的多次提交。这种方法通过设置一个全局变量`checkSubmitFlg`来跟踪表单是否已经提交过。当用户尝试提交表单时,`checkSubmit()`...
### JSP重复提交问题及其解决方法 #### 一、引言 在Web应用程序开发中,尤其是在使用Java Server Pages (JSP)技术时,一个常见的问题是重复提交数据。当用户不小心刷新了页面或按下了浏览器的“后退”按钮时,可能...
本文将深入探讨自定义标签在防止重复提交中的实现原理和应用。 首先,我们要理解什么是自定义标签(Custom Tags)。在JavaServer Pages(JSP)中,自定义标签是扩展JSP功能的一种方式,它可以封装复杂的业务逻辑...
浅谈利用Session防止表单重复提交 Session是Web应用程序中的一种机制,用于存储用户的会话信息。在Web应用程序中,表单重复提交是一个常见的问题,可能会导致数据库中产生冗余数据,浪费数据库资源。利用Session...
这样,当发生重复提交时,Struts2框架会自动处理并转向token.jsp页面,提示用户重复提交了表单。 对于第二种原因,即提交表单后刷新浏览器页面导致的重复提交,Struts2框架允许开发者通过配置结果视图的跳转方式来...
在Java服务器页面(JSP)中,防止重复提交是一个重要的考虑因素,因为它可能导致数据不一致性和其他业务逻辑问题。重复提交通常发生在用户由于网络延迟或误操作而多次点击提交按钮时。以下是一些关于如何在JSP中实现...
JSP中一种常用的方法是利用Session来防止表单的重复提交。Session在服务器端为每个用户创建一个独立的数据存储空间,可以在其中保存用户的特定信息。以下是这种方法的具体步骤: 1. **设置Session属性**:在用户...
下面将详细解释Struts2如何通过重定向来防止表单重复提交。 首先,理解表单重复提交的场景:用户在提交表单后,由于网络延迟或其他原因,可能会无意中多次点击提交按钮。如果服务器没有处理这些重复请求,那么相同...
在这个SSH笔记中,我们将深入探讨四个核心主题:数据验证、文件上传下载、防止表单重复提交以及自定义拦截器。 首先,我们来谈谈数据验证。在Web应用中,数据验证是必不可少的一环,它确保用户输入的数据符合业务...
拦截器防止重复提交的设置步骤 在 Struts2 框架中,防止重复提交是一个非常重要的安全性问题。重复提交可能会导致数据的不一致和系统的不稳定。为了解决这个问题,Struts2 提供了拦截器机制来防止重复提交。在本文...
在Struts的配置文件(例如`struts.xml`)中,为需要防止重复提交的Action添加一个拦截器栈,包括`token`和`tokenSession`拦截器。 ```xml <!-- 配置错误结果页面 --> <param name="includeParams">none ...
在Struts2中防止表单重复提交的过程主要包括以下几个步骤: 1. **生成Token**:当用户发起表单请求时,服务器会生成一个唯一的Token并将其存储在服务器的会话(Session)中,同时将这个Token作为隐藏字段放入到HTML...