栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

kaptcha验证码使用方法详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kaptcha验证码使用方法详解

本文为大家分享了kaptcha验证码的使用方法,供大家参考,具体内容如下

1.首先在pom.xml文件中导入Maven依赖


  com.github.penggle
  kaptcha
  2.3.2

2.在web.xml文件中配置一个servlet


 
 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.页面代码如下


 
 
 
   
 


向后端提交数据

var verifyCodeActual = $('#j_captcha').val();
 if (!verifyCodeActual) {
  $.toast('请输入验证码!');
  return;
 }
 formData.append("verifyCodeActual", verifyCodeActual);

4.js交互

function changeVerifyCode(img) {
 img.src = "../Kaptcha?" + Math.floor(Math.random() * 100);
}

5.后端验证

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;
 }
}
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;
 }

 }
}

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/139556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号