Springboot+MybatisPlus实现带验证码的登录
实现带验证码的登录功能由两部分组成::1、验证码的获取 2、登录(进行用户名、密码和验证码的判断)
获取验证码
获取验证码需要使用HuTool中的CaptchaUtil.createLineCaptcha()来定义验证码的长度、宽度、验证码位数以及干扰线条数
同时也要使用到HttpSession对象和HeepServletResponse对象 session:拿到验证码需要放入session中,response用来返回页面
1、获取验证码对象
LineCaptcha linCaptcha=CaprchaUtil.createLineCaptcha(116,40,4,10);
2、放入session
session.setAttribute("code",lineCaptcha.getCode);
3、输出
ServletOutputStream stream=response.getOutputStream(); lineCaptcha.write(stream);
4、关闭
stream.close();
登录
登录功能首先要去判断验证码,若验证码为空或者不匹配,直接返回错误;否则再去进行用户名和密码的对比
1、判断验证码
String sessioncode=(String)session.getAttribute("code"); if(code!=null && code.equals(sessioncode) { }
2、若验证码存在并且象征吗匹配成功则去数据库比对用户名和密码(这里我们需要创建一个新的sql语句 select * from user where username=#{username} && password=#{password})如何去创建一个新的sql语句请查看https://www.jb51.net/program/321214aq6.htm
String sessioncode=(String)session.getAttribute("code"); if(code!=null && code.equals(sessioncode) { User user=userService.login(username,password); if(user!=null) { //登录成功 session.setAttribute("user",user); } else { //登录失败,用户名或密码有误} } else { //登录失败,验证码有误}
创建一个新的sql语句 userService.login(username,password)
(1)Mapper中
@Select("select * from user where username=#{uesrname} && password=#{password} public User login(String username,String password);
(2)Service中
public User login(Sting username,String password);
(3)ServiceImpl中
@Autowird UserMapper userMapper @Overried public User login(String username,String password) { return userMapper.login(username,password); }
到此这篇关于Springboot+MybatisPlus实现带验证码的登录的文章就介绍到这了,更多相关Springboot MybatisPlus验证码登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
如何将JSP/Servlet项目转换为Spring Boot项目
这篇文章主要介绍了如何将JSP/Servlet项目转换为Spring Boot项目,帮助大家更好的利用springboot进行网络编程,感兴趣的朋友可以了解下2020-10-10Java的wait(), notify()和notifyAll()使用心得
本篇文章是对java的 wait(),notify(),notifyAll()进行了详细的分析介绍,需要的朋友参考下2013-08-08springcloud项目占用内存好几个G导致服务器崩溃的问题
这篇文章主要介绍了springcloud项目占用内存好几个G导致服务器崩溃的问题,本文给大家分享解决方案供大家参考,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-10-10Java的springcloud Sentinel是什么你知道吗
这篇文章主要介绍了Java之springcloud Sentinel案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-08-08spring boot 配置freemarker及如何使用freemarker渲染页面
springboot中自带的页面渲染工具为thymeleaf 还有freemarker这两种模板引擎,本文重点给大家介绍spring boot 配置freemarker及如何使用freemarker渲染页面,感兴趣的朋友一起看看吧2023-10-10
最新评论