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

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有