项目中配置 Kaptcha 验证码分一下几步:

        1,添加Maven依赖

         
            com.github.axet
            kaptcha
            0.0.9
        

       2,spring容器中注入kaptcha,自定义其相关属性

         
        
            
                
                
                    
                        
                        150
                        
                        60
                        
                        abcde2345678gfynmnpwx
                        
                        5
                        
                        no
                        
                        red
                        
                        35
                        
                        Arial, Courier
                        white
                        white
                        com.google.code.kaptcha.impl.ShadowGimpy
                        com.google.code.kaptcha.impl.NoNoise
                        
                        red
                        
                        4
                    

                

            

        

    

     3 在控制器中写获取验证图片的方法

   /**
     * Kaptcha 验证码
     */
    @Autowired
    private DefaultKaptcha captchaProducer;

    @RequestMapping(value = "captcha.htm", method = RequestMethod.GET)
    public void captcha(HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        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("p_w_picpath/jpeg");
        String capText = captchaProducer.createText();
        request.getSession().setAttribute(
                com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY, capText);
        BufferedImage bi = captchaProducer.createImage(capText);
        ServletOutputStream out = response.getOutputStream();
        ImageIO.write(bi, "jpg", out);
        try {
            out.flush();
        } finally {
            out.close();
        }
    }

   4,前台调用

                        onclick="this.src='${BASE_PATH}/admin/captcha.htm?'+Math.random();"
                  src="${BASE_PATH}/captcha.htm">

  5,后台验证时从Session中获取验证码

           String kaptcha = (String) request.getSession().getAttribute(
                    com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);