重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章为大家展示了SpringBoot结合kaptcha验证码工具是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联建站专业为企业提供桥西网站建设、桥西做网站、桥西网站设计、桥西网站制作等企业网站建设、网页设计与制作、桥西企业网站模板建站服务,十载桥西做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
首先,在pom.xml中加入kaptcha的依赖
com.github.penggle kaptcha javax.servlet-api javax.servlet
其次,在项目中创建CaptchaConfig类,对验证码进行配置。
@Configuration public 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类,生成验证码。
@Controller public 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验证码工具是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。