/** * 生成验证码图片并返回给客户端 * @param key 验证码对应的key * @param request HTTP请求对象 * @param response HTTP响应对象 * @throws Exception 异常处理 */ @RequestMapping("/captcha") public void captcha(@RequestParam String key, HttpServletRequest request, HttpServletResponse response) throws Exception { // 指定验证码的长宽以及字符的个数 // SpecCaptcha captcha = new SpecCaptcha(135, 33, 5); // captcha.setCharType(Captcha.TYPE_NUM_AND_UPPER); // // 首先把验证码在后台保存一份,但是不能保存在session,可以存在redis,也可以存在后台的某个Map里面 // CaptureConfig.CAPTURE_MAP.put(key, captcha.text().toLowerCase()); // CaptchaUtil.out(captcha, request, response); // 算术类型 ArithmeticCaptcha captcha = new ArithmeticCaptcha(135, 33); captcha.setLen(4); // 几位数运算,默认是两位 captcha.getArithmeticString(); // 获取运算的公式:3+2=? captcha.text(); // 获取运算的结果:5 // 将验证码文本转换为小写,并将其与对应的key存储在CAPTURE_MAP中 CaptureConfig.CAPTURE_MAP.put(key, captcha.text().toLowerCase()); // 将生成的验证码图片输出到客户端 CaptchaUtil.out(captcha, request, response); }
标签:CAPTURE,算术,字母,request,验证码,captcha,key,response From: https://www.cnblogs.com/stevenduxiang/p/18096582