kaptcha配置java_java之kaptcha验证码
首先我们介绍验证码的效果,如图所示:
我们点击图片和看不清楚,换一张需要刷新验证码;输入验证码,光标离开和点击登陆都要验证是否正确;不正确提示
那么我们以前使用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验证码相关推荐
- Kaptcha工具和手动实现验证码功能
Kaptcha Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片 ...
- Linux下使用Google Authenticator配置SSH登录动态验证码
说明: 1.一般ssh登录服务器,只需要输入账号和密码. 2.本教程的目的:在账号和密码之间再增加一个 验证码,只有输入正确的验证码之后,再输入 密码才能登录.这样就增强了ssh登录的安全性. 3.账 ...
- node.js实现阿里云配置发送短信验证码
目录 开始 签名添加 模板添加 测试短信 项目中使用 Core accessKeyId | accessKeySecret params PhoneNumbers SignName TemplateC ...
- kaptcha配置java_kaptcha 配置
问题所在: 这一段配置,不要写在 SpringMVC 文件中,要写在 Spring 配置文件! no 105,179,90 red 250 80 90 code 4 宋体,楷体,微软雅黑 异常信息: ...
- 验证随机数案例java_Java实现随机验证码功能实例代码
现在许多系统的注册.登录或者发布信息模块都添加的随机码功能,就是为了避免自动注册程序或者自动发布程序的使用. 验证码实际上就是随机选择一些字符以图片的形式展现在页面上,如果进行番茄花园xp系统下载提交 ...
- 配置IIS6出现 出现验证码无法显示问题
1 最近在做vs2012的程序发布到IIs上之后出现验证码无法显示问题 在不同机子上部署时(win7)候依然出现问题,后来原来是IIs配置的问题 首先打开控制面板->程序与功能->打开或关 ...
- 使用阿里云短信验证码API发送短信验证码(配置,获取短信验证码,注册,登录,密码重置)
获取阿里云短信验证码需要的配置信息. 如果是新用户,可以免费领取3个月,老用户的话就只能购买了,但是也不贵. 申请短信签名 申请短信模板 编写发送短信验证码的工具类 代码中我已经进行了详细的注释,也写 ...
- properties 配置 java_Java 操作Properties配置文件详解
1 简介: JDK提供的java.util.Properties类继承自Hashtable类并且实现了Map接口,是使用一种键值对的形式来保存属性集,其中键和值都是字符串类型. java.util.P ...
- 火狐配置java_java selenium+firefox环境搭建
已经成功搭建的版本关系:FireFox45+selenium3.141.59+ geckodriver 0.21.0 启动浏览器后空白页:浏览器版本太高 Firefox历史版本 geckodriver ...
- notes 发邮件was配置java_Java程序调用LotusNotes邮件服务发送邮件的实现
一.Domino配置 通过阅读IBM官网的Lotus 官方文档架构师的文章(Java对Domino Objects的访问: A.确保已开启DIIOP任务 要在服务器上启动 HTTP 和 DIIOP 任 ...
最新文章
- 原创 人物志|山东省临沭县 - 一位身残志坚的奋斗青年 - 吴忠军
- 51单片机定时器实现LED闪烁
- Cocos2dx学习笔记9:cocos2dx锚点(Anchor Point)
- C++中的对象_纪要(二)
- python开发专属表情包_Python开发个人专属表情包网站
- ASM 常用概念解释
- 每日top3热点搜索词统计案例
- ubuntu下搭建nfs服务器
- Java中运用数组的四种排序方法_JAVA中运用数组的四种排序方法
- mysql动态加载数据库数据库_Mysql动态更新数据库脚本的示例讲解
- 【原】浅谈KL散度(相对熵)在用户画像中的应用
- Expression Blend学习5控件
- python爬虫爬取图片代码_Python爬虫爬取煎蛋网图片代码实战
- zmap扫描mysql_zmap/masscan 快速扫描网络
- java 10的 6次方_【Java】 剑指offer(15) 数值的整数次方
- 数学建模——SPSS的非参数检验
- OpenCV实践之GMS网格运动统计策略的特征匹配算法
- 泰坦尼克号生命值预测
- H3C的前世今生及它的基础配置
- 同步调用、异步调用、回调的简单理解
热门文章
- android viewpager实现画廊效果,ViewPager实现2D、3D画廊效果
- 2022/8/8测试总结
- 反病毒软件测试,PCSL手机反病毒软件测试 2011年7月
- MSM8960 // F200 引导装载程序 (Bootloader) 之研读
- 小米手机隐私相册在哪?将你的照片锁进“保险柜”
- CRM-数据权限设计
- Jogging Trails 邮递员问题
- 产品经理如何写出一看就想约的简历
- 苹果怎么用计算机解锁,苹果ios10密码解锁设置图文教程 怎么用密码解锁
- gg修改器修改内购_GG入门学习第六课:GG的防闪