一种表单重复提交处理方法

简介:

表单重复提交处理:

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;
        }
    }

 

目录
相关文章
|
4月前
|
JavaScript 前端开发 数据安全/隐私保护
提交表单与验证表单案例
提交表单与验证表单案例
20 0
|
6月前
|
JSON JavaScript 前端开发
form表单提交方式
form表单提交方式
|
设计模式 JavaScript 数据库
表单防止重复提交的四种方式
表单防止重复提交的四种方式
190 0
表单提交错误
当需要将表单提交的时候,附加的信息不应放在提交的跳转地址,而是应该使用隐藏域去附加信息
表单提交错误
|
JavaScript 前端开发
自动提交表单的实现方法
可以解决采集需要自动提交的问题!   方法一:   Untitled Document (1)自动提交表单:    setTimeout("document.form1.submit()",10000)                      10秒后提交。
2341 0
|
存储 SQL 算法
最简单的6种防止数据重复提交的方法!(干货)下
最简单的6种防止数据重复提交的方法!(干货)
306 1
|
存储 前端开发 安全
最简单的6种防止数据重复提交的方法!(干货)上
最简单的6种防止数据重复提交的方法!(干货)
784 0
最简单的6种防止数据重复提交的方法!(干货)上
|
NoSQL Redis 数据库
重复提交,你是如何处理的?
幂等性就是说无论你执行几次请求,其结果是一样的。说到了幂等就不得不说重复提交了,你连续点击提交按钮,理论上来说这是同一条数据,数据库应该只能存入一条,而实际上存放了多条,这就违反了幂等性。因此我们就需要做一些处理,来保证连续点击提交按钮后,数据库只能存入一条数据。
642 0