kaptcha 是一个扩展自 simplecaptcha 的验证码库,方便我们不再写此类功能。
他的代码是谷歌托管的,可以从这里下载http://code.google.com/p/kaptcha/
工程内已经附带了示例,可以方便开发者使用。
需要的操作就是把kaptcha-2.3.2.jar增加到工程内,然后配置访问图片的Servlet:
示例中的配置是:
<servlet-mapping> <servlet-name>Kaptcha</servlet-name> <url-pattern>/Kaptcha.jpg</url-pattern> </servlet-mapping>
也就是说访问Kaptcha.jpg时其实就是访问了输出验证码图片的Servlet。
示例中的KaptchaExample.jsp是调用页面,这里介绍了如何验证用户输入是否和验证码符合。
但是没有如何刷新的操作,刷新其实很简单,这里稍微修改即可。
注意,必须加随机参数,否则读取缓存就不会有效果。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Kaptcha Example</title> <script type="text/javascript"> function refImg(){ document.getElementById("Kaptcha").src="<%=basePath%>Kaptcha.jpg?data="+Math.random(); } </script> </head> <body> <table> <tr> <td><img id="Kaptcha" src="<%=basePath%>Kaptcha.jpg" onclick="refImg()"></td> <td valign="top"> <form method="POST"> <br>sec code:<input type="text" name="kaptchafield"><br /> <input type="submit" name="submit"> </form> </td> </tr> </table> <br /> <% String c = (String)session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY); String parm = (String) request.getParameter("kaptchafield"); out.println("Parameter: " + parm + " ? Session Key: " + c + " : "); if (c != null && parm != null) { if (c.equals(parm)) { out.println("<b>true</b>"); } else { out.println("<b>false</b>"); } } %> </body> </html>
另外修改后使用的是绝对路径,在实际开发中应该注意这个问题。
做示例时使用的是kaptcha-2.3.2,见附件。
请您到ITEYE网站看 java小强 原创,谢谢!
http://cuisuqiang.iteye.com/ !
自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!
相关推荐
`fonter - ITeye技术网站.htm` 文件很可能是关于如何使用`kaptcha`的一个在线示例或教程,里面可能详细介绍了如何在项目中集成`kaptcha`,以及如何配置和生成验证码的步骤。`kaptcha生成验证码例子 - fonter - ITeye...
【kaptcha-2.3.2-google验证码插件】是一个基于Java开发的验证码生成插件,主要用于网站的安全验证,防止恶意自动程序(如机器人)进行非法操作,如批量注册、频繁提交表单等。该插件是Google开发的,因此在安全性和...
在实际使用kaptcha-2.3.2时,开发者需要在项目中引入依赖,然后配置相关参数,最后在需要的地方调用生成验证码的方法并展示给用户。通过这种方式,可以有效地提高网站的安全性,防止恶意攻击。 总结来说,kaptcha-...
通常,我们在生成验证码时将其值保存到session,然后在用户提交表单时,对比用户输入的验证码与session中的值是否一致,以判断其有效性。 总的来说,kaptcha作为一款优秀的Java验证码插件,以其简单的集成方式和...
当用户请求验证码时,后端调用Kaptcha生成验证码图像,并将其存储到Redis,同时返回验证码文本给前端。 实现步骤如下: 1. 配置Kaptcha:在Spring Boot的配置类中,添加Kaptcha配置,包括生成器、渲染器等属性,以...
接下来,通过调用Kaptcha对象的方法生成验证码图片,并将其保存或显示在网页上。同时,还需要将生成的验证码文本存储在一个安全的地方,例如服务器的内存中或数据库中,以便后续的用户输入验证。 Kaptcha提供了一些...
- 示例代码展示了如何配置kaptcha bean,并在控制器中调用生成验证码的逻辑。 - 视图部分可能包含一个简单的HTML页面,展示生成的验证码图像,并提供一个输入框让用户输入验证码。 - 验证逻辑会检查用户输入的验证码...
2. **简单集成**:在`web.xml`中添加必要的配置后,只需在Java代码中调用`KaptchaProducer`生成验证码图片,然后将其显示在网页上,即可实现验证码功能。 3. **高可扩展性**:`Kaptcha`支持多种类型的验证码,例如...
在Java开发中,生成验证码是一项基本技能。本参考资料主要围绕Java生成中英文验证码展开,旨在帮助开发者理解并实现验证码功能。 首先,验证码的生成通常涉及到以下几个关键步骤: 1. **随机字符生成**:验证码由...
3. **生成验证码**:使用`Kaptcha`工厂类创建一个验证码生成器实例,调用其`create()`方法生成验证码图像和相应的文本。 4. **保存和显示验证码**:将生成的图像保存到服务器的临时目录,并将图像的URL传递给客户端...
使用kaptcha生成图片验证码 生成图片验证码必须要引用到的包,下载后引入项目即可 依赖的jar包 kaptcha-0.0.9.jar filters-2.0.235-1.jar @RequestMapping("/kaptcha.jpg") public ModelAndView handleRequest...
kaptcha的主要特点是可以生成图片验证码、音频验证码、数学验证码等多种类型的验证码,同时也支持多种语言。 在开发工具及使用的核心技术方面,本文主要使用了eclipse、mybatis、spring、springmvc、kaptcha等技术...
3. 在需要生成验证码的地方调用Kaptcha的API获取验证码的图像和文本,并将其存储在Session中。 4. 在处理用户提交的表单时,取出Session中的验证码并与用户输入的值进行比较,验证成功后清除Session中的验证码。 ...
生成验证码图片后,将其保存到服务器的临时目录,并将对应的验证码值存储到session中,供后续的表单验证使用: ```java String text = kp.createText(); BufferedImage image = kp.createImage(text); // 保存图像...
- 在需要生成验证码的页面,使用Kaptcha的`createText()`和`createImage()`方法生成文本和图像。然后将图像显示在网页上,文本保存在服务器端作为验证依据。例如: ```java import ...
在本文中,我们将深入探讨`com.google.code.kaptcha:2.3.2`这个依赖,它是谷歌提供的一个用于生成验证码的开源库。验证码(CAPTCHA)是一种防止恶意自动化程序(如机器人)滥用服务的安全机制,它要求用户进行某种...
《深入理解Kaptcha图片验证码在SpringMVC项目中的应用》 验证码作为一种常见的安全机制,用于防止恶意自动程序(如机器人)对网站进行非法操作,如批量注册、恶意投票等。Kaptcha是Google开源的一个用于生成图片...
Kaptcha的核心类`DefaultKaptcha`负责生成验证码,它通过生成随机文本和图像来创建独一无二的验证码。这个过程包括以下几个步骤: 1. **生成随机文本**:Kaptcha首先生成一串随机字符,通常包含字母和数字,长度可...