SpringBoot结合kaptcha验证码工具是怎样的
发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,本篇文章为大家展示了SpringBoot结合kaptcha验证码工具是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先,在pom.xml中加入kapt
千家信息网最后更新 2025年01月26日SpringBoot结合kaptcha验证码工具是怎样的
本篇文章为大家展示了SpringBoot结合kaptcha验证码工具是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
首先,在pom.xml中加入kaptcha的依赖
com.github.penggle kaptcha javax.servlet-api javax.servlet
其次,在项目中创建CaptchaConfig类,对验证码进行配置。
@Configurationpublic class CaptchaConfig{ @Bean(name = "captchaProducer") public DefaultKaptcha getKaptchaBean() { DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); Properties properties = new Properties(); // 是否有边框 properties.setProperty(KAPTCHA_BORDER, "no"); // 验证码文本字符颜色 properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_COLOR, "black"); // 验证码文本字符大小 properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_SIZE, "38"); // KAPTCHA_SESSION_KEY properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCode"); // 验证码文本字符长度 properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "4"); // 验证码文本字体样式 properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_NAMES, "Arial,Courier"); // 图片样式 properties.setProperty(KAPTCHA_OBSCURIFICATOR_IMPL, "com.google.code.kaptcha.impl.ShadowGimpy"); Config config = new Config(properties); defaultKaptcha.setConfig(config); return defaultKaptcha; }}
接着,编写Controller类,生成验证码。
@Controllerpublic class CaptchaController { private static final Logger log = LoggerFactory.getLogger(CaptchaController.class); @Resource(name = "captchaProducer")//配置类中的bean private Producer captchaProducer; @RequestMapping("/captcha") public ModelAndView captcha(HttpServletRequest request, HttpServletResponse response) { ServletOutputStream out = null; try { HttpSession session = request.getSession(); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); response.addHeader("Cache-Control", "post-check=0, pre-check=0"); response.setHeader("Pragma", "no-cache"); response.setContentType("image/jpeg"); String capStr = null; String code = null; BufferedImage bi = null; capStr = code = captchaProducer.createText(); bi = captchaProducer.createImage(capStr); log.info("验证码:"+code); session.setAttribute(Constants.KAPTCHA_SESSION_KEY, code); out = response.getOutputStream(); ImageIO.write(bi, "jpg", out); out.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (out != null) { out.close(); } } catch (IOException e) { e.printStackTrace(); } } return null; }}
然后,编写页面代码,本样例使用layui。
最后,运行项目,查看效果,并且确认页面的验证码与实际输出验证码一致。
日志输出:
INFO c.p.a.w.c.CaptchaController - [captcha,47] - 验证码:pfcd
上述内容就是SpringBoot结合kaptcha验证码工具是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
验证
文本
字符
工具
内容
技能
样式
知识
页面
项目
输出
配置
简明
一致
简明扼要
代码
图片
大小
字体
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的世界无服务器联机
网吧无盘服务器管理
网络安全的三个时代
华为服务器主板
网络安全知识竞赛证书上哪找
2020年新软件开发视频
网络技术跟it是一样吗
u8服务器更新要多久
北邮计算机网络技术实践
网络安全产品 强制性认证
奇迹复古多久更新一次服务器
思讯商云v8无法连接到数据库
全网服务器
美国学生网络安全教育
港股互联网科技股有哪些
选择软件开发工具应考虑
网站服务器续费怎么算
服务器售后人员管理
软件开发体系流程
oracle数据库密码锁表
网络安全研究生专硕名称
sql数据库中标识符要求
曲靖竹马之友互联网科技公司
学生和成绩是什么联系数据库
数据库机房建筑
osi七层模型与网络安全
如何从服务器上取东西
网络安全企业一览
智慧酒店软件开发
gpu服务器产业分析报告