GOOGLE kaptcha 验证码生成插件 servlet/jsp项目中使用步骤

本文主要是介绍GOOGLE kaptcha 验证码生成插件 servlet/jsp项目中使用步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

步骤一:

在项目中添加kaptchar的jar包,下载地址:http://code.google.com/p/kaptcha/(建议使用迅雷下载)


步骤二:
配置web.xml,详细配置如下(这里不是所有的配置,这里的参数还有很多可以酌情精简):

 <!-- 配置验证码插件servlet类 --><servlet><servlet-name>kaptcha</servlet-name><servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class><!-- 给验证码插件servlet类配置参数 --><!-- 边框设置 yes  no --><init-param><param-name>kaptcha.border</param-name><param-value>no</param-value></init-param><!-- 边框颜色 颜色名称 例如:red blue black等 也可以是 RGB:105,179,90 --><init-param><param-name>kaptcha.border.color</param-name><param-value>red</param-value></init-param><!-- 边框宽度 --><init-param><param-name>kaptcha.border.thickness</param-name><param-value>5</param-value></init-param><!-- 产生验证码的字符源头 兼容中文的 --><init-param><param-name>kaptcha.textproducer.char.string</param-name><param-value>2345共2354阿斯asdf蒂芬2345爬墙2345额问题了ewry空1254间的股fktiul份的y7u12354o私人254认可ry13254iu的身份报123告快乐</param-value></init-param><!-- 生成结果的字符个数 --><init-param><param-name>kaptcha.textproducer.char.length</param-name><param-value>5</param-value></init-param><!-- 生成结果的字符字体 --><init-param><param-name>kaptcha.textproducer.font.names</param-name><param-value>微软雅黑,宋体,楷体</param-value></init-param><!-- 生成结果的字符大小 --><init-param><param-name>kaptcha.textproducer.font.size</param-name><param-value>40</param-value></init-param><!-- 生成结果的字符 颜色 --><init-param><param-name>kaptcha.textproducer.font.color</param-name><param-value>blue</param-value></init-param><!-- 生成结果的字符 字间距 --><init-param><param-name>kaptcha.textproducer.char.space</param-name><param-value>2</param-value></init-param><!-- 干扰线 生成器 --><init-param><param-name>kaptcha.noise.impl</param-name><param-value>com.google.code.kaptcha.impl.DefaultNoise</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.background.clear.from</param-name><param-value>green</param-value></init-param><!-- 干扰线 背景渐变颜色  从右侧向左渐变  --><init-param><param-name>kaptcha.background.clear.to</param-name><param-value>yellow</param-value></init-param><!-- 验证码图片宽度 --><init-param><param-name>kaptcha.image.width</param-name><param-value>200</param-value></init-param><!-- 验证码图片高度 --><init-param><param-name>kaptcha.image.height</param-name><param-value>50</param-value></init-param></servlet><!-- 验证码请求名  映射 --><servlet-mapping><servlet-name>kaptcha</servlet-name><url-pattern>/yzm</url-pattern></servlet-mapping>

  以上是针对于使用google插件生成验证码的参数配置,不用自己写出验证码生成的工具类了。

  
  步骤三:
  在jsp页面中添加图片标签,标签的src静态资源请求地址为上面配置好的请求名 yzm,具体代码如下:

 <br><hr><br><form action="kaptchatest" method="post"><img title = "点我换一张" alt="" src="yzm" style="cursor:pointer;" οnclick="changeVerifyCode();"><input type="text" name="yzm"><br><input type="submit" value="测试验证码"></form><script type="text/javascript">//点击切换验证码function changeVerifyCode(){img.src = "yzm?"+Math.floor(Math.random()*100);   }</script>

步骤四:
创建servlet以响应表单提交的请求处理,及配置该servlet,代码如下:

package com.kaptcha.action;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class KaptchaServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置request编码方式request.setCharacterEncoding("utf-8");//获取表单提交参数String yzm = request.getParameter("yzm") ;System.out.println(yzm);//从session中获取google kaptcha 插件生成的验证码String googlecode = request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY).toString() ;System.out.println(googlecode);//比较验证码正确性System.out.println(googlecode.equalsIgnoreCase(yzm));  //true}}

   ********************************

  <servlet><description></description><servlet-name>KaptchaServlet</servlet-name><servlet-class>com.kaptcha.action.KaptchaServlet</servlet-class></servlet><servlet-mapping><servlet-name>KaptchaServlet</servlet-name><url-pattern>/kaptchatest</url-pattern></servlet-mapping>

步骤五:
  重启服务器,地址栏输入jsp地址,即可测试结果
  
 *************可以设置的参数,仅供参考:*************************
  
可以设置的参数,仅供参考:
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



这篇关于GOOGLE kaptcha 验证码生成插件 servlet/jsp项目中使用步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1816

相关文章

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控