国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

kaptcha驗(yàn)證碼使用方法詳解

2024-07-14 08:43:03
字體:
供稿:網(wǎng)友

本文為大家分享了kaptcha驗(yàn)證碼的使用方法,供大家參考,具體內(nèi)容如下

1.首先在pom.xml文件中導(dǎo)入Maven依賴

<dependency>  <groupId>com.github.penggle</groupId>  <artifactId>kaptcha</artifactId>  <version>2.3.2</version></dependency>

2.在web.xml文件中配置一個(gè)servlet

<servlet> <!-- 生成圖片的Servlet --> <servlet-name>Kaptcha</servlet-name> <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class> <!-- 是否有邊框 --> <init-param>         <param-name>kaptcha.border</param-name> <param-value>no</param-value> </init-param> <!-- 字體顏色 --> <init-param>   <param-name>kaptcha.textproducer.font.color</param-name> <param-value>red</param-value> </init-param> <!-- 圖片寬度 --> <init-param> <param-name>kaptcha.image.width</param-name> <param-value>135</param-value> </init-param> <!-- 使用哪些字符生成驗(yàn)證碼 --> <init-param> <param-name>kaptcha.textproducer.char.string</param-name>  <param-value>ACDEFHKPRSTWX345679</param-value> </init-param> <!-- 圖片高度 --> <init-param>  <param-name>kaptcha.image.height</param-name>  <param-value>50</param-value> </init-param> <!-- 字體大小 --> <init-param>  <param-name>kaptcha.textproducer.font.size</param-name>  <param-value>43</param-value> </init-param> <!-- 干擾線的顏色 --> <init-param>  <param-name>kaptcha.noise.color</param-name>  <param-value>black</param-value> </init-param> <!-- 字符個(gè)數(shù) --> <init-param>  <param-name>kaptcha.textproducer.char.length</param-name>  <param-value>4</param-value> </init-param> <!-- 使用哪些字體 --> <init-param>  <param-name>kaptcha.textproducer.font.names</param-name>  <param-value>Arial</param-value> </init-param> </servlet> <!-- 映射的url --> <servlet-mapping> <servlet-name>Kaptcha</servlet-name> <url-pattern>/Kaptcha</url-pattern> </servlet-mapping>

3.頁面代碼如下

<div class="item-inner"> <label for="j_captcha" class="item-title label">驗(yàn)證碼</label> <input id="j_captcha" name="j_captcha" type="text"   class="form-control in" placeholder="驗(yàn)證碼" /> <div class="item-input">   <img id="captcha_img"         onclick="changeVerifyCode(this)" src="../Kaptcha" /> </div></div>

向后端提交數(shù)據(jù)

var verifyCodeActual = $('#j_captcha').val(); if (!verifyCodeActual) {  $.toast('請(qǐng)輸入驗(yàn)證碼!');  return; } formData.append("verifyCodeActual", verifyCodeActual);

4.js交互

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

5.后端驗(yàn)證

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

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 美姑县| 澜沧| 富平县| 合山市| 滦平县| 大悟县| 台东市| 泾阳县| 乳山市| 永吉县| 南开区| 连城县| 凤庆县| 文安县| 焦作市| 修武县| 南丰县| 鄂托克前旗| 杭锦旗| 淮南市| 沈阳市| 鄂托克旗| 巍山| 沙洋县| 余干县| 遵化市| 千阳县| 新邵县| 六安市| 道真| 双辽市| 桃江县| 青铜峡市| 嘉荫县| 获嘉县| 永州市| 水城县| 平安县| 洪江市| 收藏| 汉寿县|