使用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配置生成验证码实例