基于SSM的在线图书管理系统-新增redis验证码验证

使用Redis实现SSM在线图书管理系统验证码功能
本文介绍了如何在基于SSM的在线图书管理系统中利用Redis实现验证码功能。通过在后台生成验证码,将其存储到Redis,再展示给前端用户输入验证,详细阐述了验证码的生成、存储、展示和验证过程。

验证码 这个功能 相信大家并不默认,也是项目中必须要涉及的内容,那么怎么去实现一个验证码功能呢。其实验证实现的方式很多。有session/cookie/数据库。我们这里主要使用Redis来实现验证码功能的存储。其实原理很简单。

(1)在后台生成验证码
( 2 ) 把生成的验证码存入redis
(3)返回到前台展示验证码
( 4 ) 输入验证码,完成验证功能

(1)生成验证码的功能,这里使用java.awt里面的Graphics 和 Image这些对象来绘制验证码

public void createImage(Model model, HttpServletRequest request, HttpServletResponse response) throws IOException {
        BufferedImage image = new BufferedImage(imageWidth, imageHigh, BufferedImage.TYPE_INT_RGB);
        Graphics g = image.getGraphics();
        createBackground(g);
        String captchaString = createCharacter(g);
        String uuid = UUID.randomUUID().toString();
        request.getSession().setAttribute("yzm_uuid",uuid);
        //  redis缓存验证码 将验证码缓存与Mengpeng 的文件夹下
        redisService.setVal("mz:" + uuid, captchaString, 12000L);
        g.dispose();
        OutputStream out = response.getOutputStream();
        ImageIO.write(image, "JPEG", out);
        out.close();
    }

(2)存入redis

 redisService.setVal("mz:" + uuid, captchaString, 12000L);
 同时设置过期时间

(3) 前台展示功能

<img src="/getImageCode"  name="code"  id="codeImageId"  onclick="changeImage()" style="margin-left: 2px" height="38px" width="100px"/>

(4)验证功能也比较简单

public boolean verificationCode(HttpServletRequest request,String code) {
        String yzm_uuid = (String)request.getSession().getAttribute("yzm_uuid");
        String key ="mz:" + yzm_uuid;
        String originCaptcha = redisService.getVal(key);
        if (originCaptcha != null) {
            if (code.equals(originCaptcha) == true) {
                return true;
            } else {
                return false;
            }
        }
        return false;
    }

(5) 最终的效果图
在这里插入图片描述

完整代码 在码云可以获取 如果有疑问的 及时联系作者
https://gitee.com/soul_PreCoder/projects
在这里插入图片描述

1,项目功能:1)用户管理用户包括为用户分配账号,修改密码,用户安全退出功能。此模块只能由系统管理员统一配置,用户不能自行注册,用户密码要进行加密处理。支持excel读者数据的导入。2)图书管理对需要图书进行增删改查操作,要提供完善的检索功能,以便于读者使用该系统进行图书检索,支持excel图书数据导入。3)借还管理每位读者要先交纳100元押金。每位读者最多可以同时借阅2本图书。读者借书后,若在30天内没有看完,则可以续借一次,续借之后若超出30天则进行扣款处罚。每延迟一天扣款1元钱。读者归还图书后,要进行天数清零。图书的借阅状态分为3种,分别是:已借出、已入库、延迟。4)系统管理本系统角色共分为3种:系统管理员、图书馆管理员、读者。由于各个角色的使用功能不一样,所以要加入权限控制使不同的角色登陆系统后所拥有的权限不同。5)出版社管理对出版社进行维护,便于在录入图书信息时进行快速选择。6)系统监控记录登陆用户的登陆时间、推出时间及在系统内进行的所有操作。7)数据分析提供图书种类的数据分析。      适合做毕业设计参考项目。2,涉及技术:SSM框架,Tomcat3,开发环境:IDEA,MySQL数据库4,讲解方式:从环境安装,项目搭建,以及项目介绍等进行讲解5,包含资料:项目源码(含数据库文件),环境安装包,项目文档。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值