首先我们介绍验证码的效果,如图所示:

我们点击图片和看不清楚,换一张需要刷新验证码;输入验证码,光标离开和点击登陆都要验证是否正确;不正确提示

那么我们以前使用ajax是必不可少的,后台呢也不需要用到数据库;那么serlet是一个不错的选择;那么我们开始吧;

1、jar包:kaptcha-2.3.2.jar 这个jar网上随便可以下到,如果需要可以加我qq:648385408索取; 添加jar包不会的话可以查看我以前的博客;也可以百度;这里不描述了;

2、js:jquery-1.9.1.js 这个网上也下载的有,主要是为了刷新出图片

3、web.xml配置

Kaptcha

com.google.code.kaptcha.servlet.KaptchaServlet

kaptcha.border

no

kaptcha.textproducer.font.color

red

kaptcha.image.width

135

kaptcha.textproducer.char.string

ACDEFHKPRSTWX345679

kaptcha.image.height

50

kaptcha.textproducer.font.size

43

kaptcha.noise.color

black

kaptcha.textproducer.char.length

4

kaptcha.textproducer.font.names

Arial

Kaptcha

/Kaptcha.jpg

以上xml原封不懂贴到xml中就可以了,记得不要覆盖原有的

3、网页配置

size=-1>验证码:

size=-1>

看不清,换一张

以上是现实图片的html代码 js代码如下:

点击切换验证码

//点击切换验证码

function changeVerifyCode(){

$("#yzmImg").attr("src","Kaptcha.jpg?"+Math.floor(Math.random()*100));

//切换验证码后清空输入框内容、后面提示字清空;

document.getElementById("verifyCode").value="";

document.getElementById("verifyCodeSpan").innerHTML = "";

}

判断是否正确:

function Codevalidate(field) {

//if ($.trim(field.value).length != 0) {

if($.trim(field.value).length == 0) {

flag = true;

document.getElementById("verifyCodeSpan").innerHTML = "请输入验证码";

// alert("请输入验证码");

}else {

//提交前先异步检查验证码是否输入正确

var verifyUrl = "${pageContext.request.contextPath}/servlet/VerifyServlet?verifyCode="+$.trim(field.value);

$.ajax({

type:"GET",

url:verifyUrl,

success:function(returnData){

if(returnData!="Y") {

flag = true;

document.getElementById("verifyCodeSpan").innerHTML = "验证码不正确";

}else {

flag = false;

//验证码正确,进行提交操作

document.getElementById("verifyCodeSpan").innerHTML = "验证码输入正确";

}

},

error:function(e){

flag = true;

alert(e);

}

});

}

}

以上js验证是通过ajax到serlet中验证的,那么就要写后台serlet了

生成图片js:

4、serlet如下:VerifyServlet

package com.marcellotest.servlet;

/**

*

*/

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class VerifyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charaset=utf-8");

response.setHeader("pragma", "no-cache");

response.setHeader("cache-control", "no-cache");

PrintWriter out = null;

try {

//响应数据

String resultData;

//获取传过来的验证码

String verifyCode = request.getParameter("verifyCode");

System.out.println("verifyCode----"+verifyCode);

if(verifyCode=="") {

resultData = "N";

}else {

//获取kaptcha生成存放在session中的验证码

String kaptchaValue = (String) request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);

//比较输入的验证码和实际生成的验证码是否相同

if(kaptchaValue == null || kaptchaValue == ""||!verifyCode.equalsIgnoreCase(kaptchaValue)) {

resultData = "N";

}else {

resultData = "Y";

}

}

out = response.getWriter();

out.write(resultData);

out.flush();

}catch(Exception e) {

e.printStackTrace();

}finally {

if(out != null) {

out.close();

}

}

}

}

xml添加:

VerifyServlet

com.marcellotest.servlet.VerifyServlet

VerifyServlet

/servlet/VerifyServlet

运行效果:   未输入

输入错误:

正确:

kaptcha配置java_java之kaptcha验证码相关推荐

  1. Kaptcha工具和手动实现验证码功能

    Kaptcha Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片 ...

  2. Linux下使用Google Authenticator配置SSH登录动态验证码

    说明: 1.一般ssh登录服务器,只需要输入账号和密码. 2.本教程的目的:在账号和密码之间再增加一个 验证码,只有输入正确的验证码之后,再输入 密码才能登录.这样就增强了ssh登录的安全性. 3.账 ...

  3. node.js实现阿里云配置发送短信验证码

    目录 开始 签名添加 模板添加 测试短信 项目中使用 Core accessKeyId | accessKeySecret params PhoneNumbers SignName TemplateC ...

  4. kaptcha配置java_kaptcha 配置

    问题所在: 这一段配置,不要写在 SpringMVC 文件中,要写在 Spring 配置文件! no 105,179,90 red 250 80 90 code 4 宋体,楷体,微软雅黑 异常信息: ...

  5. 验证随机数案例java_Java实现随机验证码功能实例代码

    现在许多系统的注册.登录或者发布信息模块都添加的随机码功能,就是为了避免自动注册程序或者自动发布程序的使用. 验证码实际上就是随机选择一些字符以图片的形式展现在页面上,如果进行番茄花园xp系统下载提交 ...

  6. 配置IIS6出现 出现验证码无法显示问题

    1 最近在做vs2012的程序发布到IIs上之后出现验证码无法显示问题 在不同机子上部署时(win7)候依然出现问题,后来原来是IIs配置的问题 首先打开控制面板->程序与功能->打开或关 ...

  7. 使用阿里云短信验证码API发送短信验证码(配置,获取短信验证码,注册,登录,密码重置)

    获取阿里云短信验证码需要的配置信息. 如果是新用户,可以免费领取3个月,老用户的话就只能购买了,但是也不贵. 申请短信签名 申请短信模板 编写发送短信验证码的工具类 代码中我已经进行了详细的注释,也写 ...

  8. properties 配置 java_Java 操作Properties配置文件详解

    1 简介: JDK提供的java.util.Properties类继承自Hashtable类并且实现了Map接口,是使用一种键值对的形式来保存属性集,其中键和值都是字符串类型. java.util.P ...

  9. 火狐配置java_java selenium+firefox环境搭建

    已经成功搭建的版本关系:FireFox45+selenium3.141.59+ geckodriver 0.21.0 启动浏览器后空白页:浏览器版本太高 Firefox历史版本 geckodriver ...

  10. notes 发邮件was配置java_Java程序调用LotusNotes邮件服务发送邮件的实现

    一.Domino配置 通过阅读IBM官网的Lotus 官方文档架构师的文章(Java对Domino Objects的访问: A.确保已开启DIIOP任务 要在服务器上启动 HTTP 和 DIIOP 任 ...

最新文章

  1. 原创 人物志|山东省临沭县 - 一位身残志坚的奋斗青年 - 吴忠军
  2. 51单片机定时器实现LED闪烁
  3. Cocos2dx学习笔记9:cocos2dx锚点(Anchor Point)
  4. C++中的对象_纪要(二)
  5. python开发专属表情包_Python开发个人专属表情包网站
  6. ASM 常用概念解释
  7. 每日top3热点搜索词统计案例
  8. ubuntu下搭建nfs服务器
  9. Java中运用数组的四种排序方法_JAVA中运用数组的四种排序方法
  10. mysql动态加载数据库数据库_Mysql动态更新数据库脚本的示例讲解
  11. 【原】浅谈KL散度(相对熵)在用户画像中的应用
  12. Expression Blend学习5控件
  13. python爬虫爬取图片代码_Python爬虫爬取煎蛋网图片代码实战
  14. zmap扫描mysql_zmap/masscan 快速扫描网络
  15. java 10的 6次方_【Java】 剑指offer(15) 数值的整数次方
  16. 数学建模——SPSS的非参数检验
  17. OpenCV实践之GMS网格运动统计策略的特征匹配算法
  18. 泰坦尼克号生命值预测
  19. H3C的前世今生及它的基础配置
  20. 同步调用、异步调用、回调的简单理解

热门文章

  1. android viewpager实现画廊效果,ViewPager实现2D、3D画廊效果
  2. 2022/8/8测试总结
  3. 反病毒软件测试,PCSL手机反病毒软件测试 2011年7月
  4. MSM8960 // F200 引导装载程序 (Bootloader) 之研读
  5. 小米手机隐私相册在哪?将你的照片锁进“保险柜”
  6. CRM-数据权限设计
  7. Jogging Trails 邮递员问题
  8. 产品经理如何写出一看就想约的简历
  9. 苹果怎么用计算机解锁,苹果ios10密码解锁设置图文教程 怎么用密码解锁
  10. gg修改器修改内购_GG入门学习第六课:GG的防闪