`

spring + redis 防止表单重复提交

 
阅读更多

简介:

        spring + redis 防止表单重复提交。

实施:

        1.根据http://see-you-again.iteye.com/admin/blogs/2323435完成spring和reis的整合

        2.核心代码如下:

/**
     * 为了实现防止表单重复提交功能,我们需要在数据库中存入一个唯一标识,当表单重复提交时
     * 如果发现数据已经存在,那么返回插入失败
     *
     * 同时我们需要设置这个唯一标识的时效性,然而无论数据是否已经存在都会修改时效值,那么
     * 解决办法便是设置uuid,只有插入值或者值相等时哦我们才允许修改
     * @param singleid 唯一标识
     * @return 操作结果
     */
    public boolean add(final String singleid) {
        boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {
            public Boolean doInRedis(RedisConnection connection)
                    throws DataAccessException {
                RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
                String uuid = UUID.randomUUID().toString().replaceAll("-","");
                byte[] key  = serializer.serialize(singleid);
                byte[] value = serializer.serialize(uuid);
                boolean res = connection.setNX(key, value);
                if(res || connection.get(key).equals(value))
                  connection.expire(key,122) ;
                return res ;
            }
        });
        return result;
    }

 

分享到:
评论

相关推荐

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

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

    springboot+redis+AOP 防止表单重复提交

    总结起来,结合Spring Boot、Redis和AOP,我们可以构建出一个优雅的解决方案,防止表单的重复提交,保障系统的稳定性和数据一致性。这种方法充分利用了Spring Boot的便利性、Redis的高速缓存能力和AOP的代码组织优势...

    基于Springboot+Mybatis+ SpringMvc+springsecrity+Redis完整网站后台管理系统

    项目描述 说明: spring security 全注解式的权限管理 动态配置权限,角色和资源,权限控制到...Springboot+Mybatis+ SpringMvc+springsecrity+Redis+bootstrap+jquery 数据库文件 压缩包内 jar包文件 maven搭建

    基于注解+redis实现表单防重复提交.zip

    这里我们将深入探讨如何通过注解和Redis缓存技术来防止表单的重复提交。 首先,SpringBoot是一个快速开发框架,它简化了Spring的应用程序开发,通过内嵌的Tomcat服务器,自动配置以及starter依赖,使得开发者可以...

    vue+springboot+redis+kaptcha实现登录验证码

    Kaptcha是Java的一个开源验证码生成库,它能够生成各种类型的复杂验证码,防止机器人或恶意软件自动填写表单。在Spring Boot项目中,我们可以通过配置Kaptcha Bean来定制验证码的样式,包括字体、颜色、背景等。当...

    基于SpringBoot+MyBatis+Redis+Durid+Beetl+MySQL的智能办公系统源码

    本项目JDK8x64+SpringBoot+MyBatis+Redis+Druid+Beetl+Shrio的框架组合, 自研工作流引擎,支持可视化表单设计与流程设计。 支技分布式部署。功能完善能够满足中大型企业办公需要。 本项目JDK8x64+SpringBoot+...

    redis专栏 002 springboot redis 防止表单重复提交

    使用Redis和Spring Boot来防止表单重复提交的基本思路是:在接收到表单提交请求后,生成一个唯一的请求标识(例如,基于UUID),并将其作为键存储到Redis中,设置一个适当的过期时间。当服务器接收到新的请求时,会...

    Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统

    报表后端采用技术: SpringBoot整合SSM,spring security 全注解式的权限管理和JWT方式禁用Session,采用redis存储token及权限信息 报表前端采用Bootstrap框架,结合Jquery Ajax,整合前端Layer.js(提供弹窗)+...

    spring+mybatis+redis+bootstrap 简单框架

    【标题】"spring+mybatis+redis+bootstrap 简单框架"是一个常见的技术栈组合,用于快速构建高效、响应式的Web应用。这个框架集合涵盖了四个关键组件:Spring框架、MyBatis持久层框架、Redis内存数据库以及Bootstrap...

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

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

    通过dubbo+spring boot+mybatis+redis等主流技术搭建搭建一套多元化服务框架.zip

    dubbo-spring-boot-mybatis-redis通过dubbo+spring boot+mybatis+redis等主流技术搭建搭建一套多元化服务框架项目介绍1、首先安装zookeeper+redis2、dearbinge-data-provider服务提供者项目的资源文件dubbo-spring-...

    自定义注解解决API接口幂等设计防止表单重复提交(生成token存放到redis中)

    为了解决这一问题,我们可以采用自定义注解结合Redis来实现一个防止表单重复提交的解决方案。 首先,让我们理解自定义注解的核心思想。注解是一种元数据,它提供了在代码中添加信息的方式,这些信息可以被编译器或...

    基于springBoot+ssm+redis+shiro+layui+mysql的MES智能制造执行系统

    《构建智能制造执行系统的全方位解析——基于SpringBoot+SSM+Redis+Shiro+Layui+MySQL》 在数字化和智能化转型的浪潮中,MES(Manufacturing Execution System,制造执行系统)扮演着至关重要的角色。它连接了企业...

    layui+springboot+shrio+redis人员权限管理

    《layui+springboot+shiro+redis人员权限管理系统详解》 在现代企业级应用开发中,权限管理和用户认证是至关重要的部分。本项目基于layui前端框架、springboot后端框架,结合shiro安全组件和redis缓存技术,构建了...

    基于SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis + .zip

    标题 "基于SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis + .zip" 描述了一个使用现代Web开发技术构建的项目。这个项目利用了SpringBoot作为核心框架,Thymeleaf作为模板引擎,Layui作为前端UI框架,...

    使用springboot+jpa+redis+bootstrap 可运行项目

    在本项目中,"使用springboot+jpa+redis+bootstrap 可运行项目"是一个综合了多个...开发者可以通过这个项目来熟悉Spring Boot的配置、JPA的数据库操作、Redis的缓存应用、Bootstrap的界面设计以及阿里云OSS的使用方法。

    springboot 2.1 + shiro + redis + layUI后台权限管理系统.zip

    【标题】"SpringBoot 2.1 + Shiro + Redis + LayUI后台权限管理系统"是一个典型的Web应用开发项目,主要用于实现企业级的后台管理功能,包括用户权限控制、角色分配、资源管理等。这个系统利用了SpringBoot的快速...

    基于springboot的论坛系统,主要使用的技术有springboot+mybatis+redis+自定义分页.zip

    开发者可以从中学习到如何组织Spring Boot项目的结构,如何整合Mybatis和Redis,以及如何实现自定义分页策略。此外,还可以了解HTML5在实际项目中的应用,包括如何创建响应式的布局,以及如何利用HTML5的API进行...

Global site tag (gtag.js) - Google Analytics