spring mvc使用kaptcha配置生成验证码实例

  

使用Kaptcha生成验证码十分简单并且参数可以进行自定义,以下简单记录下使用步骤。

  

<强> 1。在砰的一声。xml中添加maven依赖:
  

        & lt; dependency>   & lt; groupId> com.google.code.kaptcha   & lt; artifactId> kaptcha   & lt; version> 2.3 & lt;/version>   & lt; classifier> jdk15   & lt;/dependency>      

<强> 2. web。xml中配置kaptcha属性:
  

        & lt; bean id=皏erifyCodeProducer”类=癱om.google.code.kaptcha.impl.DefaultKaptcha”比;   & lt;属性名="配置"比;   & lt; bean类=癱om.google.code.kaptcha.util.Config”比;   & lt; constructor-arg>   & lt; props>   & lt;支撑关键=" kaptcha.border "祝辞yes   & lt;支撑关键=" kaptcha.border.color "在105179年,90 & lt;/prop>   & lt;支撑关键=" kaptcha.border.thickness "祝辞1 & lt;/prop>      & lt;支撑关键=" kaptcha.noise.color "祝辞blue      & lt;支撑关键=" kaptcha.image.width "在150 & lt;/prop>   & lt;支撑关键=" kaptcha.image.height "祝辞50 & lt;/prop>      & lt;支撑关键=" kaptcha.session.key "祝辞verifyCode      & lt; !——& lt;支撑关键=" kaptcha.textproducer.char.string "在0123456789 abcdefghijklmnopqrst ! @ # $ % ^ * & lt;/prop>——比;   & lt;支撑关键=" kaptcha.textproducer.char.length "祝辞4 & lt;/prop>   & lt;支撑关键=" kaptcha.textproducer.char.space "祝辞4 & lt;/prop>         & lt;支撑关键=" kaptcha.textproducer.font.size "祝辞30 & lt;/prop>   & lt;支撑关键=" kaptcha.textproducer.font.color "祝辞blue      & lt;/props>   & lt;/constructor-arg>   & lt;/bean>   & lt;/property>   & lt;/bean>      之前      

其中豆节点的id值verifyCodeProducer为在类中引用@生成实例时的名称,属性配置中kaptcha.session。关键的值为在会话中存取名称。
  

  

<强>在servlet节点中配置
  

  

<强> 3。控制器类中的相关方法:
  

        @ controller   公开课CommonController {      @ autowired   私人生产者verifyCodeProducer;      @RequestMapping(路径="/getVerifyCodeImage "方法=RequestMethod.GET)   公共空间getVerifyCodeImage (HttpServletRequest请求,HttpServletResponse响应){   HttpSession会话=request.getSession ();      ResponseUtils.noCache(响应);   response.setContentType(“图像/jpeg”);      字符串capText=verifyCodeProducer.createText ();   session.setAttribute(常量。SESSION_KEY_VERIFY_CODE capText);      BufferedImage bi=verifyCodeProducer.createImage (capText);   ServletOutputStream=零;   尝试{=response.getOutputStream ();   ImageIO。写(bi,“jpg”);   out.flush ();   }捕捉(例外的前女友){   记录器。错误(“未能产生验证码图片:”,前女友);   把新的ServerInternalException(“不能产生验证码图像。”);   最后}{   IOUtils.closeQuietly(出);   }   }   }   之前      

常数。SESSION_KEY_VERIFY_CODE为属性配置中kaptcha.session。关键的值。
  

  

<强> 4。jsp:
  

        & lt; div class="形式的班级有反馈”比;   & lt;跨类=" glyphicon glyphicon-barcode form-control-feedback”祝辞& lt;/span>   & lt;输入id=" verifyCode " name=" verifyCode " type="文本"最大长度=?”class=氨淼タ丶闭嘉环?"=' login.label & lt;春天:消息代码。代码/祝辞;”/比;   & lt; div祝辞& lt;/div>   & lt; img src=" https://www.yisu.com/zixun/" $ {pageContext.request.contextPath}/getVerifyCodeImage id=" verifyCodeImage "/比;   & lt; a href=" https://www.yisu.com/zixun/" rel=巴獠縩ofollow”祝辞& lt;春天:=' login.code消息代码。提示'/祝辞& lt;/a>   & lt;/div>            函数changeVerifyCode () {   $ (' # verifyCodeImage ') hide ()。attr (“src”、“$ {pageContext.request.contextPath}/getVerifyCodeImage& # 63;“+ Math.floor (math . random () * 100)) .fadeIn ();   event.cancelBubble=true;   }   之前      

<强> 5. kaptcha属性说明:

  
      <李> kaptcha.border.color ,边框颜色,,默认为Color.BLACK 李   <李> kaptcha.border.thickness 边框粗细度,默认为1,李   <李> kaptcha.producer.impl ,验证码生成器,默认为DefaultKaptcha 李

    spring mvc使用kaptcha配置生成验证码实例