1、下载kaptcha。
http://code.google.com/p/kaptcha/downloads/list
2、新建一个Web项目,并将下载压缩包中的kaptcha-2.3.2.jar放在项目的WEB-INF/lib目录下。
3、配置web.xml文件。
使用kaptcha可以方便的配置:
•验证码的字体
•验证码字体的大小
•验证码字体的字体颜色
•验证码内容的范围(数字,字母,中文汉字!)
•验证码图片的大小,边框,边框粗细,边框颜色
•验证码的干扰线(可以自己继承com.google.code.kaptcha.NoiseProducer写一个自定义的干扰线)
•验证码的样式(鱼眼样式、3D、普通模糊……当然也可以继承com.google.code.kaptcha.GimpyEngine自定义样式)
配置:
代码如下复制代码
kaptcha.border 是否有边框 默认为true 我们可以自己设置yes,no
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 验证码文本字体样式 默认为new Font("Arial", 1, fontSize), new Font("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
验证码实例
代码如下复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<!-- kaptcha验证码配置 -->
<servlet>
<!-- 生成图片的Servlet -->
<servlet-name>Kaptcha</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
<!-- 是否有边框-->
<init-param>
<param-name>kaptcha.border</param-name>
<param-value>no</param-value>
</init-param>
<!-- 字体颜色 -->
<init-param>
<param-name>kaptcha.textproducer.font.color</param-name>
<param-value>red</param-value>
</init-param>
<!-- 图片宽度 -->
<init-param>
<param-name>kaptcha.image.width</param-name>
<param-value>135</param-value>
</init-param>
<!-- 使用哪些字符生成验证码 -->
<init-param>
<param-name>kaptcha.textproducer.char.string</param-name>
<param-value>ACDEFHKPRSTWX345679</param-value>
</init-param>
<!-- 图片高度 -->
<init-param>
<param-name>kaptcha.image.height</param-name>
<param-value>50</param-value>
</init-param>
<!-- 字体大小 -->
<init-param>
<param-name>kaptcha.textproducer.font.size</param-name>
<param-value>43</param-value>
</init-param>
<!-- 干扰线的颜色 -->
<init-param>
<param-name>kaptcha.noise.color</param-name>
<param-value>black</param-value>
</init-param>
<!-- 字符个数 -->
<init-param>
<param-name>kaptcha.textproducer.char.length</param-name>
<param-value>4</param-value>
</init-param>
<!-- 使用哪些字体 -->
<init-param>
<param-name>kaptcha.textproducer.font.names</param-name>
<param-value>Arial</param-value>
</init-param>
</servlet>
<!-- 映射的url -->
<servlet-mapping>
<servlet-name>Kaptcha</servlet-name>
<url-pattern>/Kaptcha.jpg</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
显示验证码的页面index.jsp
代码如下 复制代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>验证码</title>
<script type="text/javascript">
//点击切换验证码
function changeVerifyCode(img){
img.src = "Kaptcha.jpg?"+Math.floor(Math.random()*100);
}
</script>
</head>
<body>
<p>
<form action="result.jsp">
<table>
<tr>
<td>
</td>
<td>
<img src="Kaptcha.jpg" onclick="changeVerifyCode(this)" style="cursor: pointer;">
</td>
</tr>
<tr>
<td>
请输入验证码:
</td>
<td>
<input type="text" name="verifyCode">
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" value="提交">
</td>
</tr>
</table>
</form>
</body>
</html>
获取图片上的数据:
String c = (String)session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
获取前台表单上的数据:
String parm = (String) request.getParameter("kaptchafield");
相关推荐
基于 Spring Boot 整合 Kaptcha 实现的图形验证码 Demo,本 Demo 没有涉及到任何数据库的操作,非常适合初学者学习参考,也可以参考我的博客。
google的Kaptcha生成验证码,附件有jar资源和使用Demo 一款可以各种配置显示方式的验证码
vue+springboot+redis+kaptcha实现登录页验证码
使用Kaptcha生成随机码的一个demo
使用kaptcha生成验证码的作用:进行人机校验--防止机器脚本,自动大量注册用户。 1.Kaptcha是谷歌开源的可高度配置的实用验证码生成工具。 2.通过Kaptcha可阻拦大多数机器人脚本操作。 3.kaptcha典型殷勇于注册、...
Java使用kaptcha实现验证码功能必备jar包,使用简单,web.xml中配置即用。 Java使用kaptcha实现验证码功能必备jar包,使用简单,web.xml中配置即用。
该资源是谷歌 kaptcha jar包,以及该jar包的使用说明,这是谷歌自动生成图片验证码,大大节省的开发时间,用起来比较简单,已过时,但仍然可以使用,喜欢的小伙伴就下载吧,有什么不懂的地方可以咨询博主。
kaptcha-2.3.2 验证码 全套demo及资料
Kaptcha验证码实现(实现了属性配置的方式,这种网上没有看到)
kaptcha生成验证码的作用:进行人机校验--防止机器脚本自动大量注册用户。 1、Kaptcha是谷歌开源的可高度配置的实用验证码生成工具。 2、过Kaptcha可阻拦大多数机器人脚本操作。 3、kaptcha典型殷用于注册、登录、...
本篇文章主要介绍了spring mvc 使用kaptcha生成验证码实例,详细的介绍了使用Kaptcha 生成验证码的步骤,有兴趣的可以了解一下
主要介绍了使用google.kaptcha来生成图片验证码的实现方法,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了java下使用kaptcha生成验证码,感兴趣的小伙伴们可以参考一下
自己实现用idea实现了下google的kaptcha验证码,挺好用的,使用简单方便,希望能够帮助到大家
这是个 自己写的 可以改样式 的非常漂亮 美观的验证码
用来生成验证码的工具类,已有完整的demo,按照样例来使用即可~
主要为大家详细介绍了javaWeb使用Kaptcha组件生成验证码的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
利用kaptcha开源框架实现验证码实例、 1:是一个完整的一个web项目 2:包含详细的参数说明 3:另外附一套java 汉字验证码程序
主要介绍了Spring boot如何集成kaptcha并生成验证码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
kaptcha demo 简单的验证码工具 kaptcha demo 简单的验证码工具