kaptcha html页面验证码,kaptcha验证码使用配置

效果图:

0818b9ca8b590ca3270a3433284dd417.png

1.  首先加入 kaptcha的jar包在工程中kaptcha-2.3.2.jar和kaptcha-2.3.2-jdk14.jar

2. 配置web.xml:对kaptcha的参数进行配置:

Kaptcha

com.google.code.kaptcha.servlet.KaptchaServlet

kaptcha.border

no

kaptcha.textproducer.font.names

宋体,楷体,微软雅黑

kaptcha.textproducer.font.color

red

kaptcha.image.width

90

kaptcha.textproducer.char.string

abcdefghigkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ2345679

kaptcha.image.height

40

kaptcha.textproducer.font.size

30

kaptcha.textproducer.char.length

4

kaptcha.background.clear.from

green

kaptcha.background.clear.to

white

kaptcha.noise.impl

com.google.code.kaptcha.impl.NoNoise

kaptcha.obscurificator.impl

com.google.code.kaptcha.impl.ShadowGimpy

Kaptcha

/Kaptcha.jpg

3. jsp页面展示:

$(function(){

$('#kaptchaImage').click(function () {

$(this).attr('src', 'Kaptcha.jpg?' + Math.floor(Math.random()*100) );

});

});

用户名
密码
验证码Kaptcha.jpg

初始化提交提交表单

$('#dialog_login_loginForm').form({

url : "${pageContext.request.contextPath}/userAction!login.action",

success : function(data) {

var obj = jQuery.parseJSON(data);

if (obj.success) {

$.messager.show({

title : '提示',

msg : obj.msg,

});

loginDialog.dialog('close');

}else{

$.messager.show({

title : '提示',

msg : obj.msg,

iconCls:'icon-no',

});

}

}

});

验证验证码:

//判断验证码输入是否正确

function checkVerifyCode(){

$.ajax({

url : "${pageContext.request.contextPath}/userAction!checkVerifyCode.action?verifyCode="+$('#verifyCode').val(),

success : function(data) {

var obj = jQuery.parseJSON(data);

if (obj.success) {

$('#dialog_login_loginForm').submit();

}else{

$.messager.show({

title : '提示',

msg : obj.msg,

iconCls:'icon-no',

});

}

}

});

Action处理验证:

public void checkVerifyCode(){

Json j = new Json();

//获取传过来的验证码

String verifyCode =ServletActionContext.getRequest().getParameter("verifyCode");

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

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

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

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

j.setMsg("输入的验证码不正确!");

}else {

j.setSuccess(true);

}

super.writeJson(j);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/252257.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Cookie、Kaptcha

目录 一、本质 二、Cookie在浏览器和服务器之间的传递 1.没有Cookie的状态 2.创建Cookie对象并返回 三、Cookie时效性 1.理论 2.代码 3.会话和持久化Cookie对比 四、Cookie的domain和path 五、Cookie的应用 六、Kaptcha 1.为什么需要验证码? 2.Kaptcha…

java验证码kaptcha_spring整合kaptcha验证码的实现

kaptcha简介: kaptcha是一个很有用的验证码生成工具,由于它有许多可配置项,所以用它可以简单快捷的生成各式各样的验证码。 开发工具及使用的核心技术: 1、eclipse 2、mybatis 3、spring 4、springmvc 5、kaptcha 本文将介绍kaptcha两种使用方式: 方式一…

SpringBoot 整合 kaptcha + redis 实现 图形验证码登录

一、新建一个SpringBoot 项目,springboot项目创建过程详见 mac idea 创建 springboot 项目_JAVADWangJing的博客-CSDN博客_mac idea创建springboot项目 二、SpringBoot 整合使用 Rdis SpringBoot 项目 添加 redis配置_JAVADWangJing的博客…

10.20扫雷

扫雷 1.构建主函数,方法与三子棋雷同,但是有很多不一样的地方,就是需要构建两个二维数组,一个存放雷的数据,一个存放展现给玩家的数据棋盘 2.在对棋盘分别初始化 时候,考虑到两个二维数组存放内容不同,直接对初始化函数进行添加字符参数 3.构建参数 因为考虑到后期排查雷的时…

扫雷游戏

游戏设计 1.设计两个二维数组的面板,一个是展示给用户使用的,另一个是雷区的面板 2.初始化两个面板,用户使用的面板初始化为‘’,雷区的面板全部初始化为‘0’ 3.设置你所需要的雷区 4.用户输入坐标,进行判断。越界重新…

【180720】微软Windows扫雷游戏代码

源码简介 本源码是一个微软Windows扫雷游戏代码,可选择难度级别:初级、中级、高级。 注意事项: 1、开发环境为Visual Studio 2010,使用.net 2.0开发。 源码下载地址:点击下载 备用下载地址:点击下载

扫雷win10_windows扫雷游戏原来是一道数学难题!

各位同学大家好,这里是质心数学游戏科普频道。 今天和大家聊的是一款有点复古的windows系统自带小游戏——MineSweeper(扫雷)。 我刚接触这款游戏是高中的上机课,当时的电脑系统还是win95,在大家还不会局域网互联打Sta…

【扫雷】游戏

一、目的 实现一个扫雷游戏 二、过程 1、游戏框架 首先,游戏开始之前,显示游戏菜单Menu() static void Menu() {printf("#############################\n");printf("########欢迎来到扫雷游戏#######\n");printf("######…

扫雷1.0

目录 一.规则介绍 二.基本思路 三.代码实现 一.规则介绍 扫雷是一个经典的游戏,一张棋盘中有许多不确定是雷还是安全区域的格子,当点击之后若没雷则会在该区域显示周围八个格子雷瑟数目,若踩雷则游戏结束。 二.基本思路 1.创建菜单 2.…

扫雷win10_厉害了,一个自动扫雷游戏项目!

转载自公众号【视学算法】 原文:https://www.cnblogs.com/chestnut-egg/p/9302238.html 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。 一、…

RK3566 ALC5616录音调试

1.硬件原理图 MIC_P,MIC_N:mic输入。 I2S:总共有5根线(这里不是指 i2s 标准接口):两根音频数据线(输入/输出)、三根时钟线 其中: I2S_LRCK 是指示当前数据线传输的是左声…

comsol with matlab联合仿真

目前网上的教程基本上只有如何找到comsol with Matlab以及如何打开,和部分代码的讲解,但是要真正的跑起来还有一些步骤,小白在这里跟大家分享一下,不对轻喷🥺 1.comsol文件需要连接到服务器comsol multiphysics serve…

COMSOL6.0软件安装说明+视频教程

链接:https://pan.baidu.com/s/1a_BaY6K-fP0PiMhcw5eLcg?pwd6iis 提取码:6iis 首先用虚拟光驱加载或者用winrar直接解压镜像文件,再双击setup.exe程序,选择简体中文语言; 2.选择新安装; 3.选择你要安装…

COMSOL 5.2安装教程(自用)

3、允许用户协议,将许可证格式修改为“许可证文件”,然后点击浏览载入安装包中“_SolidSQUAD_”目录下的“Comsol52_SSQ.lic” 电磁 AC/DC 模块RF 模块波动光学模块射线光学模块等离子体模块半导体模块 结构力学 & 声学 结构力学模块非线性结构材料模…

COMSOL在云平台的使用教程,超高效的方法来了

在北鲲云超算平台上有多种COMSOL作业提交方式,这里给大家演示的是图形界面提交 在平台上使用图形界面提交超级简单,平台已内置模板,只需按照提示上传文件及选择选项即可,对于没有代码基础的同学来说,这是最推荐的方式…

EDA安装------Centos7 安装Comsol5.5

目录 1.引言2.资源3.安装4.结语 1.引言 由于项目需求,博主最近要做微流控通道的流体仿真,对于一个小白来说,首先就是安装仿真软件了。据目前所知,流体仿真大多数使用Ansys的Fluent或CFX、Comsol两个软件。经过网上查询&#xff0…

页眉如何设置成一页左一页右?页码如何设置成一页左一页右?

WPS页眉如何设置成一页左一页右?页码如何设置成一页左一页右?

WPS页眉不同页之间的修改

1-打开WPS 2-建立第一页的页眉 3-点击第二页的页眉 4-点击一下,取消“同前节” 5-编辑第二页的页眉 6-如果后续不修改,那么后面的页眉应是第二页的页眉

WPS的页眉设置

设置步骤如下 首先点开显示段落标记,这样更方便看到分节符: 在每页文字的最后插入分节符,操作步骤如下: 可以在页面上看到分节符,分节符的作用就是将多个页面分节,分节符前是一节,之后是另外一…