spring mvc 使用kaptcha配置生成验证码实例
使用Kaptcha生成验证码十分简单并且参数可以进行自定义,以下简单记录下使用步骤。
1.在pom.xml中添加maven依赖:
com.google.code.kaptcha kaptcha 2.3 jdk15
2.web.xml中配置kaptcha属性:
yes 105,179,90 1 blue 150 50 verifyCode 4 4 30 blue
其中bean节点的id值verifyCodeProducer为在类中引用@Resource生成实例时的名称;属性配置中kaptcha.session.key的值为在session中存取名称。
在servlet节点中配置
3.controller类中的相关方法:
@Controller publicclassCommonController{ @Autowired privateProducerverifyCodeProducer; @RequestMapping(path="/getVerifyCodeImage",method=RequestMethod.GET) publicvoidgetVerifyCodeImage(HttpServletRequestrequest,HttpServletResponseresponse){ HttpSessionsession=request.getSession(); ResponseUtils.noCache(response); response.setContentType("image/jpeg"); StringcapText=verifyCodeProducer.createText(); session.setAttribute(Constants.SESSION_KEY_VERIFY_CODE,capText); BufferedImagebi=verifyCodeProducer.createImage(capText); ServletOutputStreamout=null; try{ out=response.getOutputStream(); ImageIO.write(bi,"jpg",out); out.flush(); }catch(Exceptionex){ LOGGER.error("Failedtoproducetheverifycodeimage:",ex); thrownewServerInternalException("Cannotproducetheverifycodeimage."); }finally{ IOUtils.closeQuietly(out); } } }
Constants.SESSION_KEY_VERIFY_CODE为属性配置中kaptcha.session.key的值。
4.jsp:
"/>
functionchangeVerifyCode(){ $('#verifyCodeImage').hide().attr('src','http://www.haoziyuan.cc${pageContext.request.contextPath}/getVerifyCodeImage?'+Math.floor(Math.random()*100)).fadeIn(); event.cancelBubble=true; }
5.kaptcha属性说明:
- kaptcha.border.color 边框颜色 默认为Color.BLACK
- kaptcha.border.thickness 边框粗细度 默认为1
- kaptcha.producer.impl 验证码生成器 默认为DefaultKaptcha
- kaptcha.textproducer.impl 验证码文本生成器 默认为DefaultTextCreator
- kaptcha.textproducer.char.string 验证码文本字符内容范围 默认为abcde2345678gfynmnpwx
- kaptcha.textproducer.char.length 验证码文本字符长度 默认为5
- kaptcha.textproducer.font.names 验证码文本字体样式 默认为newFont("Arial",1,fontSize),newFont("Courier",1,fontSize)
- kaptcha.textproducer.font.size 验证码文本字符大小 默认为40
- kaptcha.textproducer.font.color 验证码文本字符颜色 默认为Color.BLACK
- kaptcha.textproducer.char.space 验证码文本字符间距 默认为2
- kaptcha.noise.impl 验证码噪点生成对象 默认为DefaultNoise
- kaptcha.noise.color 验证码噪点颜色 默认为Color.BLACK
- kaptcha.obscurificator.impl 验证码样式引擎 默认为WaterRipple
- kaptcha.word.impl 验证码文本字符渲染 默认为DefaultWordRenderer
- kaptcha.background.impl 验证码背景生成器 默认为DefaultBackground
- kaptcha.background.clear.from 验证码背景颜色渐进 默认为Color.LIGHT_GRAY
- kaptcha.background.clear.to 验证码背景颜色渐进 默认为Color.WHITE
- kaptcha.image.width 验证码图片宽度 默认为200
- kaptcha.image.height 验证码图片高度 默认为50
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。