java kaptcha_java相关:kaptcha验证码使用方法详解
java相关:kaptcha验证码使用方法详解
发布于 2020-6-7|
复制链接
摘记: 本文为大家分享了kaptcha验证码的使用方法,供大家参考,具体内容如下1.首先在pom.xml文件中导入Maven依赖
```jfx
com.github.penggle
kaptcha
..
本文为大家分享了kaptcha验证码的使用方法,供大家参考,具体内容如下1.首先在pom.xml文件中导入Maven依赖
```jfx
com.github.penggle
kaptcha
2.3.2
```
2.在web.xml文件中配置一个servlet
```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
```
3.页面代码如下
```xhtml
验证码
```
向后端提交数据
```javascript
var verifyCodeActual = $('#j_captcha').val();
if (!verifyCodeActual) {
$.toast('请输入验证码!');
return;
}
formData.append("verifyCodeActual", verifyCodeActual);
```
4.js交互
```javascript
function changeVerifyCode(img) {
img.src = "../Kaptcha?" + Math.floor(Math.random() * 100);
}
```
5.后端验证
```java
import javax.servlet.http.HttpServletRequest;
public class CodeUtil {
public static boolean checkVerifyCode(HttpServletRequest request) {
String verifyCodeExpected = (String) request.getSession().getAttribute(
com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
String verifyCodeActual = HttpServletRequestUtil.getString(request,
"verifyCodeActual");
if (verifyCodeActual == null
|| !verifyCodeActual.equalsIgnoreCase(verifyCodeExpected)) {
return false;
}
return true;
}
}
```
```java
import javax.servlet.http.HttpServletRequest;
public class HttpServletRequestUtil {
public static int getInt(HttpServletRequest request, String name) {
try {
return Integer.decode(request.getParameter(name));
} catch (Exception e) {
return -1;
}
}
public static long getLong(HttpServletRequest request, String name) {
try {
return Long.valueOf(request.getParameter(name));
} catch (Exception e) {
return -1;
}
}
public static Double getDouble(HttpServletRequest request, String name) {
try {
return Double.valueOf(request.getParameter(name));
} catch (Exception e) {
return -1d;
}
}
public static Boolean getBoolean(HttpServletRequest request, String name) {
try {
return Boolean.valueOf(request.getParameter(name));
} catch (Exception e) {
return false;
}
}
public static String getString(HttpServletRequest request, String name) {
try {
String result = request.getParameter(name);
if (result != null) {
result = result.trim();
}
if ("".equals(result))
result = null;
return result;
} catch (Exception e) {
return null;
}
}
}
```
java kaptcha_java相关:kaptcha验证码使用方法详解相关推荐
- java读写json格式的文件方法详解.txt,并批量存储进redis
捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...
- java 复合_Java复合语句的使用方法详解
与 C 语言及其他语言相同, Java 语言的复合语句是以整个块区为单位的语句,所以又称为块语句.下面我们来看看有关复合语句的使用方法和实例. 复合语句由开括号"{"开始,闭括号& ...
- java+getactionmap_Struts2 使用OGNL遍历map方法详解
一.Action中的代码:MapAction.java package com.zx.demo.action; import java.util.ArrayList; import java.util ...
- java 方法体 out 参数_Java方法详解
方法详解 1.方法的定义 Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序组合,包含于类或对象中:在程序中被创建,在其它地方被引用 设计方法的原则:要遵守原子性,即一个 ...
- Java String API 常用的String方法详解
标题 String类的特性 Java中String类的构造方法 String类的 intern() 注意还跟jdk有关 如何保证变量S指向的是字符串常量池中的数据呢? 关于String中 new St ...
- Java语言求笛卡尔积,Java笛卡尔积算法原理与实现方法详解
本文实例讲述了Java笛卡尔积算法原理与实现方法.分享给大家供大家参考,具体如下: 笛卡尔积算法的Java实现: (1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列. ...
- Java去除字符串中空格的方法详解
昨天写了一个关于Excel文件处理的脚本,在字符串匹配功能上总是出现多余不正确的匹配,debug调试之后,发现一个坑. 代码中字符串使用了replaceAll()方法,去除了所有空格(其中包括:首尾空 ...
- java post 发送_Java发送post方法详解
总结一下java使用http发送post的方法: 1.post请求用于发送json 格式的参数: /** * post请求(用于请求json格式的参数) * * @param url 地址 * @pa ...
- java字符串去重_java字符串去重方法详解,字符串如何去重?
在Java面试的时候,你一定遇到过java字符串去重这个面试题,那么这个题目你是怎样解答的呢?下面一起来看看相关答案吧. 具体的问题: 输入一串带重复字符的字符串,输出第一次出现的字符的字符串. 例: ...
最新文章
- java- ASM 字节码操控框架
- 批量修改表的所有者对象
- oracle为什么要创建数据库,手动创建Oracle数据库之前因后果
- Android之三大图片缓存原理、特性对比
- 论文浅尝 - AAAI2020 | 基于知识图谱进行对话目标规划的开放域对话生成技术
- python两个中文队列比较_具有两个优先级的优先级队列Python
- 华为2019上半年业绩发布:华为手机海外销量已恢复禁令前80%的水平
- 【题解】CF#960 H-Santa's Gift
- java matching_LeetCode第[44]题(Java):Wildcard Matching
- OSG-基本几何图形
- 按键精灵手机助手之入门篇
- PCB多层板设计总结
- 2021-泛微OA V8 SQL注入漏洞
- 小米手机google play下载应用一直显示等待中的解决办法
- USYD悉尼大学DATA1002 OralExam 复习(可能会考的内容)
- 开源解决方案搭建统一日志平台
- python名称由来_python的词源_python的由来_同根词_同源词_趣词词源字典
- iTunes C盘占用空间太大 解决方案
- 百度网盘秒传链接生成及提取方法
- StateFlow用法汇总篇