JSP针对表单重复提交的处理方法
本文实例讲述了JSP针对表单重复提交的处理方法。分享给大家供大家参考,具体如下:
1. 在生成表单时执行如下:
session.setAttribute("forum_add", "forum_add");
2. 提交处理时作如下判断
if (isRedo(request, "forum_add")) { //提示重复提交,作相关处理 }
相关函数:
/** * 判断是否为重复提交 * 1,检查Session中是否含有指定名字的属性 * 2,如果Session中没有该属性或者属性为空,证明已被处理过,判断为重复提交 * 3,否则,证明是第一次处理,并将属性从Session中删除。 * @param key String */ private boolean isRedo(HttpServletRequest request, String key) { String value = (String) request.getSession().getAttribute(key); if (value == null) { return true; } else { request.getSession().removeAttribute(key); return false; } }
希望本文所述对大家JSP程序设计有所帮助。
相关推荐
-
js防止表单重复提交的两种方法
第一种:用flag标识,下面的代码设置checkSubmitFlg标志: 复制代码 代码如下: <script language=""javascript""> var checkSubmitFlg = false; function checkSubmit(){ if(checkSubmitFlg ==true){ return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交. } checkS
-
JS Ajax请求如何防止重复提交
好长时间没写js代码了刚好遇到这样的问题.我们系统多数表单没有做防止重复提交的. 由于不想在后端这边处理,因为假如由后端处理的话,就需要在页面加载的时候给出一次性的token值,加大了开发的工作量不说,还容易忘记做这个,同时,ajax也不好处理,需要提交失败的话同时返回新的token值. 所以我想在,js这边动手.其实以前和前端提过,久久不见动静,就只好弄块砖丢出去了.思路是,覆盖掉$.ajax,在这里面处理掉防止重复提交的问题,而前端的业务开发不受影响,不改代码,无感知. 我想架构的目的之一,
-
JSP使用自定义标签防止表单重复提交的方法
本文实例讲述了JSP使用自定义标签防止表单重复提交的方法.分享给大家供大家参考.具体如下: 1. 编写servelt: package cn.itcast.apsliyuan.web.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReques
-
javascript实现避免页面按钮重复提交
复制代码 代码如下: function preventAjax(obj,num){ obj.disabled = true; var num = num; var types =obj.type; if(types == 'submit'){ var text = obj.value; var time1 = setInterval(fu
-
AJAX避免用户重复提交请求实现方案
在使用AJAX(jQuery)异步请求数据时,为了避免因某些原因用户同时多次点击按钮,提交重复的请求,我们需要禁用请求提交按钮. 重点:jQuery的 attr 和 removeAttr 两个函数,主要是元素button的disabled属性. Demo: 复制代码 代码如下: <body> <a class="disabled">Button disabeld</a> <a class="abled">Butt
-
js控制再次点击按钮之间的间隔时间可防止重复提交
<script type="text/javascript" language="javascript"> var wait = 60; function change() { $o = $("#J_refresh_checkcode"); if(wait == 0) { $o.removeAttr("disabled"); $o.html("看不清?换一张"); wait = 60; } el
-
jsp 重复提交问题
看了网上的,有几种方法: 1 在你的表单页里HEAD区加入这段代码: 复制代码 代码如下: <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" C
-
JSP针对表单重复提交的处理方法
本文实例讲述了JSP针对表单重复提交的处理方法.分享给大家供大家参考,具体如下: 1. 在生成表单时执行如下: 复制代码 代码如下: session.setAttribute("forum_add", "forum_add"); 2. 提交处理时作如下判断 if (isRedo(request, "forum_add")) { //提示重复提交,作相关处理 } 相关函数: /** * 判断是否为重复提交 * 1,检查Session中是否含有指定名
-
PHP+Session防止表单重复提交的解决方法
index.php 当前表单页面is_submit设为0 SESSION_START(); $_SESSION['is_submit'] = 0; <form id="reg" action="post.php" method="post"> <p>用户名:<input type="text" class="input" name="username" i
-
防止Layui form表单重复提交的实现方法
在提交表单数据时,提交按钮为 submit 类型,以layui为js框架时,会重复提交表单数据,为防止这一情况,有效的做法是: 在<form>里面,加上 lay-filter="formConfig" , οnsubmit="return false" , 其中 "formConfig" 为自定义,然后在 提交的按钮事件内: form.on("submit(formConfig)",function(data){
-
Java表单重复提交的避免方法
表单的重复提交: 没有完整的进行一次,先请求表单页面->再提交表单过程而完成数据提交 造成的根本原因: 没有完整的进行一次,先请求表单页面->再提交表单过程. 造成重复提交的现象: 由于服务器缓慢或网络延迟的原因,重复点击提交按钮. 已经提交成功,刷新成功页面(forward)(请求转发). 已经提交成功,通过回退,再次点击提交按钮 注意:回退后,刷新表单页面,重新再提交,这时,不是重复提交,而是发送新的请求,在Firefox下,重复提交到同一个地址的操作无效. 案例: @WebServlet
-
详谈表单重复提交的三种情况及解决方法
第一种情况:提交完表单以后,不做其他操作,直接刷新页面,表单会提交多次. - 在servlet中写一句输出,用来判断是否提交多次 System.out.println("已经插入"); request.getRequestDispatcher("/login_success.jsp").forward(request, response); - 这样的话,刷新多少次,就会在控制器显示多少个"已经插入". - 根本原因:Servlet处理完请求以后
-
PHP使用token防止表单重复提交的方法
本文实例讲述了PHP使用token防止表单重复提交的方法.分享给大家供大家参考,具体如下: <?php /* * PHP使用token防止表单重复提交 * 此处理方法纯粹是为了给初学者参考 */ session_start(); function set_token() { $_SESSION['token'] = md5(microtime(true)); } function valid_token() { $return = $_REQUEST['token'] === $_SESSION
-
详解struts2的token机制和cookie来防止表单重复提交
详解struts2的token机制和cookie来防止表单重复提交 今天在做一个投票系统时要实现防止表单重复提交! 当时就想到了用struts2提供的token机制 struts2的token机制防止表单重复提交: 首先需要在提交的jsp页面(要使用token机制,必须使用struts2提供的标签库)加上 <s:token></s:token> 这段代码,然后在struts.xml里面需要进行如下配置: <action name="token" class
-
springMVC中基于token防止表单重复提交方法
本文介绍了springMVC中基于token防止表单重复提交方法,分享给大家,具体如下: 实现思路: 在springmvc配置文件中加入拦截器的配置,拦截两类请求,一类是到页面的,一类是提交表单的.当转到页面的请求到来时,生成token的名字和token值,一份放到Redis缓存中,一份放传给页面表单的隐藏域.(注:这里之所以使用redis缓存,是因为tomcat服务器是集群部署的,要保证token的存储介质是全局线程安全的,而redis是单线程的) 当表单请求提交时,拦截器得到参数中的toke
-
浅谈利用Session防止表单重复提交
解决项目中表单重复提交的问题,在平常的项目中有以下几种可能出现表单重复提交的情况,比如说: 1.由于服务器缓慢或者网络延迟的原因,重复点击提交按钮 2.已经提交成功,但是还不停刷新成功页面 3.已经提交成功,通过回退,再次点击提交按钮. 这些情况都可能使数据库中产生过多相同的冗余数据,浪费数据库资源.只有转发才会出现,重定向则不会. 针对第一种情况的解决方案(使用JavaScript),对后面两种无效: 首先在页面中添加如下格式的JavaScript代码 var submitFlag=false
随机推荐
- javascript oop开发滑动(slide)菜单控件
- JQuery实现DIV其他动画效果的简单实例
- jQuery控制文本框只能输入数字和字母及使用方法
- 从零学Python之hello world
- 自动识别HTML的标记 替换连接
- Java编程实现非对称加密的方法详解
- js计算页面刷新的次数
- vs2010显示代码行数的方法
- JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程
- WebService传XML 简单实例
- 在Centos7中安装Docker1.12的详细教程
- jQuery弹出窗口完整代码(居中,居左,居右)
- js createRange与createTextRange的一些用法实例
- Java实现Dijkstra输出最短路径的实例
- c#枚举值增加特性说明(推荐)
- Python中常用的内置方法
- 关于Spring中Bean的创建进行更多方面的控制
- Spring Security架构以及源码详析
- 关于Ajax异步请求后台数据进行动态分页功能
- 易语言在画板中写出指定文本当画板中已满会自动滚屏