如何通过Kaptcha在Web页面生成验证码

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,见附件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • spring整合kaptcha验证码的实现

    kaptcha简介: kaptcha是一个很有用的验证码生成工具,由于它有许多可配置项,所以用它可以简单快捷的生成各式各样的验证码. 开发工具及使用的核心技术: 1.eclipse 2.mybatis 3.spring 4.springmvc 5.kaptcha 本文将介绍kaptcha两种使用方式: 方式一:在 spring-kaptcha.xml 中配置 方式二:在 web.xml 中配置 正式开始: 一.搭骨架 1.添加依赖: <!-- 验证码 --> <dependency>

  • 使用google.kaptcha来生成图片验证码的实现方法

    1.导入依赖 <dependency> <groupId>com.google.code</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency> 图片展示如下,具体jar包自己下载 jar包下载完可以使用就很完美,如果导入之后报错不能使用,则手动添加jar,进入jar所在的位置,然后执行下面命令 mvn

  • SpringBoot 集成Kaptcha实现验证码功能实例详解

    在一个web应用中验证码是一个常见的元素.不管是防止机器人还是爬虫都有一定的作用,我们是自己编写生产验证码的工具类,也可以使用一些比较方便的验证码工具.在网上收集一些资料之后,今天给大家介绍一下kaptcha的和springboot一起使用的简单例子. 准备工作: 1.你要有一个springboot的hello world的工程,并能正常运行. 2.导入kaptcha的maven: <!-- https://mvnrepository.com/artifact/com.github.penggl

  • SpringBoot集成kaptcha验证码

    本文实例为大家分享了SpringBoot集成kaptcha验证码的具体代码,供大家参考,具体内容如下 1.kaptcha相关介绍 Kaptcha是一个基于SimpleCaptcha的验证码开源项目. 2.集成方案 ①pom.xml中配置依赖 <!-- 验证码--> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> &l

  • java验证码组件kaptcha使用方法

    使用方法: 项目中导入kaptcha-2.3.jar包在web.xml里面新增:  复制代码 代码如下: <!-- 登陆验证码Kaptcha -->    <servlet>        <servlet-name>Kaptcha</servlet-name>        <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>   

  • 登陆验证码kaptcha结合spring boot的用法详解

    前言 在我们用户登录的时候,为了安全性考虑,会增加验证码的功能,这里采用的是google的kaptcha:spirngboot是轻便,独立,使得基于spring的应用开发变得特别简单.网上有很多介绍springboot的介绍,这里不多说. 言归正抓,讲下登陆时验证码结合springboot的用法 引入kaptcha所需要的jar包,我这里用的是maven <dependency> <groupId>com.github.penggle</groupId> <art

  • SpringMvc使用GoogleKaptcha生成验证码

    前言:google captcha 是google生成验证码的一个工具类,其原理是将随机生成字符串保存到session中,同时以图片的形式返回给页面,之后前台页面提交到后台进行对比. 1.jar包准备 官方提供的pom应该是 <dependency> <groupId>com.google.code.kaptcha</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2<

  • Google Kaptcha 框架实现登录验证码功能(SSM 和 SpringBoot)

    一.效果图: 二.导入 jar 包 1.由于这是大神写好封装起来的一个框架,所有我们使用前得先下载相关的 jar 包 第一种:maven <!-- 验证码 --> <!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha --> <dependency>     <groupId>com.github.penggle</groupId>     <artifactI

  • 如何通过Kaptcha在Web页面生成验证码

    kaptcha 是一个扩展自 simplecaptcha 的验证码库,方便我们不再写此类功能. 他的代码是谷歌托管的,可以从这里下载http://code.google.com/p/kaptcha/ 工程内已经附带了示例,可以方便开发者使用. 需要的操作就是把kaptcha-2.3.2.jar增加到工程内,然后配置访问图片的Servlet: 示例中的配置是: <servlet-mapping> <servlet-name>Kaptcha</servlet-name> &

  • ASP.NET ashx实现无刷新页面生成验证码

    现在大部分网站登陆时都会要求输入验证码,在网上也看了一些范例,现在总结一下如何实现无刷新页面生成验证码. 效果图: 实现方式: 前台: <div> <span>Identifying Code:</span> <asp:TextBox ID="txtValidationCode" runat="server" Width="130px" MaxLength="4"></as

  • java图形验证码生成工具类 web页面校验验证码

    最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善. 验证码生成器: import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Date; import ja

  • java下使用kaptcha生成验证码

    kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜色.显示的字符等等.下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证码进行校验. 一.搭建测试环境 1.1.创建Web测试项目 新建一个Web项目,并将kaptcha-2.3.2.jar放在项目的WEB-INF/lib目录下,如下图所示: 1.2.在web.xml文件配置生成验证码的KaptchaServlet KaptchaServlet的详细配置如下: <?xml version="1

  • spring mvc 使用kaptcha配置生成验证码实例

    使用Kaptcha 生成验证码十分简单并且参数可以进行自定义,以下简单记录下使用步骤. 1.在pom.xml中添加maven依赖: <dependency> <groupId>com.google.code.kaptcha</groupId> <artifactId>kaptcha</artifactId> <version>2.3</version> <classifier>jdk15</classif

  • Spring boot如何集成kaptcha并生成验证码

    kaptcha是一个开源的验证码实现库 1.添加依赖 <dependency> <groupId>com.github.axet</groupId> <artifactId>kaptcha</artifactId> <version>0.0.9</version> </dependency> 2.添加配置类 配置验证码的生成属性 package com.dream.road.config; import com

  • springboot整合kaptcha生成验证码功能

    介绍:kaptcha 是谷歌开源的非常实用的验证码生成工具 一.导入jar包 <!-- kaptcha验证码 --> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency> 二.编写kaptcha配置类 pack

  • web server使用php生成web页面的三种方法总结

    查找mysql_pconnect时在mysql帮助文档上发现的,记在这里. web server使用php生成一个web页面的三式有以下三种: 一:把PHP作为CGI Wrapper.这种方式下,每个到达web server的请求都会导致一个php解析器进程被创建,当这个php页面执行结束时,这个php解析器进程终止. 二:在多进程的web server中,把php作为web server的一个模块.这是目前最流行的做法,但是当前也只有apahce用的这种方式.一个多进程的web server通

  • web前端页面生成exe可执行文件的方法

    在 HTML5的崛起.JavaScript要一统天下之际,有一个名为[跨平台]的技术越来越火.为什么会这么火?因为软件开发者只需一次编写程序,即可在 Windows.Linux.Mac.IOS.Android 等平台运行,大大降低了程序员的工作量,也使公司的产品可以快读迭代.曾经跨平台技术的不被看好,如今随着手机.电脑硬件的发展而快速发展.这一切,几乎由HTML5技术推动,当然,JavaScript 这个语言,是最大的功臣. 基于 HTML5 的跨平台技术比较出名的有 PhoneGap.Cord

  • springboot登陆页面图片验证码简单的web项目实现

    写在前面 前段时间大家都说最近大环境不好,好多公司在裁员,换工作的话不推荐轻易的裸辞,但是我想说的是我所在的公司好流弊,有做不完的业务需求,还有就是招不完的人...... 最近我也是比较繁忙,但是还是要抽一点时间来进行自我复盘和记录,最近也写一个简单的小功能,就是登陆界面的图片验证码功能 环境:Tomcat9.Jdk1.8 1 生成验证码的工具类 public class RandomValidateCodeUtil { public static final String RANDOMCODE

随机推荐