原代码路径:http://www.open-open.com/lib/view/open1395238908947.html
原代码不是本人所写,我只是使用者,感觉出来的效果比自己写的图片验证码好,所以就写一下我搭建过程。
1. 导包 spring 各种包,加上kaptcha包。
2.web.xml配置和applicationContext.xml。 在web.xml文件里除了原理DispatcherServlet原本配置还要加上上面网络地址的代码。里面多是一此类的调用和参数设置,一看就能明白的东西。 applicationContext.xml加上上面网址内的代码。是一些产生图片的格式参数设置。
3. 可以在server层写、也可以写在controller层这个类。代码很简单,主要是配置很多。session.getAttribute(Constants.KAPTCHA_SESSION_KEY)这是产生的验证码字符。直接在session内。这个是在applicatioContext.xml内就配置好,所以在存入session了。使用时都是先创建字符captchaProducer.createText()。然后把字符内容写入session属性内。 BufferedImage bi = captchaProducer.createImage(capText); 使用它创建图片再写入响应输出流内就可以了。 ImageIO.write(bi, "png", out);
4。前端就便简单src="${pageContext.request.contextPath}/captcha-image.do流源端直接和java响应的方法或类映射地址相等就可以。想连接更新就加?new Date();函数就可以了。