精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

五分鐘搞定驗證碼,你學會了嗎?

開發 前端
我們其實很經常看到,登錄一些網站其實是需要驗證碼的。使用驗證碼是現在很多網站通行的一種方式,因為計算機很難識別驗證碼,所以可以識別驗證碼的用戶就可以被認為是人類。

哈嘍,大家好,我是了不起。

我們其實很經常看到,登錄一些網站其實是需要驗證碼的。使用驗證碼是現在很多網站通行的一種方式,因為計算機很難識別驗證碼,所以可以識別驗證碼的用戶就可以被認為是人類。

今天我們講一下在 Java 中驗證碼的使用。

驗證碼生成

本效果是利用easy-captcha工具包實現,首先需要添加相關依賴到pom.xml中,代碼如下:

<dependency>
<groupId>com.github.whvcse</groupId>
<artifactId>easy-captcha</artifactId>
<version>1.6.2</version>
</dependency>

驗證碼格式

easy-captcha驗證碼工具支持GIF、中文、算術等類型,分別通過下面幾個實例對象實現:

  • SpecCaptcha(PNG類型的靜態圖片驗證碼)
  • GifCaptcha(Gif類型的圖片驗證碼)
  • ChineseCaptcha(GIF類型中文圖片驗證碼)
  • ArithmeticCaptcha(算術類型的圖片驗證碼)

字符類型分為以下幾種:

  • TYPE_DEFAULT:數字和字母混合
  • TYPEONLYNUMBER:純數字
  • TYPEONLYCHAR:純字母
  • TYPEONLYUPPER:純大寫字母
  • TYPEONLYLOWER:純小寫字母
  • TYPENUMAND_UPPER:數字和大寫字母混合

后端邏輯的實現

package com.yanx.controller;

import com.wf.captcha.SpecCaptcha;
import com.wf.captcha.base.Captcha;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.thymeleaf.util.StringUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Controller
public class KapchaController {
@GetMapping("/kaptcha")
public void defaultKaptcha(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
httpServletResponse.setHeader("Cache-Control","no-store");
httpServletResponse.setHeader("Pragma","no-cache");
httpServletResponse.setDateHeader("Expires",0);
httpServletResponse.setContentType("image/gif");

//三個參數分別為寬、高、位數
SpecCaptcha captcha=new SpecCaptcha(75,30,4);

//設置類型為數字和字母混合
captcha.setCharType(Captcha.TYPE_DEFAULT);

//設置字體
captcha.setCharType(Captcha.FONT_9);

//驗證碼存入session
httpServletRequest.getSession().setAttribute("verifyCode",captcha.text().toLowerCase());

//輸出圖片流
captcha.out(httpServletResponse.getOutputStream());
}

}

這里控制器新增了defaultKaptcha()方法,該方法所攔截處理的路徑為/kaptcha

前端邏輯的實現

在static目錄中新建kaptcha.html頁面,代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>驗證碼</title>
</head>
<body>
<img src="/kaptcha" onclick="this.src='/kaptcha?t=new Date()'">
</body>
</html>

訪問后端驗證碼路徑/kaptcha,驗證碼為圖片形式。onclick方法為點擊該標簽時可以動態切換顯示驗證碼。

啟動Spring Boot項目,打開瀏覽器輸入地址:

??http://localhost:8080/kaptcha.html??

效果如下:

圖片

驗證碼驗證

后端代碼

package com.yanx.controller;

import com.wf.captcha.SpecCaptcha;
import com.wf.captcha.base.Captcha;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.thymeleaf.util.StringUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@Controller
public class KapchaController {
@GetMapping("/kaptcha")
public void defaultKaptcha(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
httpServletResponse.setHeader("Cache-Control","no-store");
httpServletResponse.setHeader("Pragma","no-cache");
httpServletResponse.setDateHeader("Expires",0);
httpServletResponse.setContentType("image/gif");

//三個參數分別為寬、高、位數
SpecCaptcha captcha=new SpecCaptcha(75,30,4);

//設置類型為數字和字母混合
captcha.setCharType(Captcha.TYPE_DEFAULT);

//設置字體
captcha.setCharType(Captcha.FONT_9);

//驗證碼存入session
httpServletRequest.getSession().setAttribute("verifyCode",captcha.text().toLowerCase());

//輸出圖片流
captcha.out(httpServletResponse.getOutputStream());
}

@GetMapping("/verify")
@ResponseBody
public String verify(@RequestParam("code") String code, HttpSession session){
if(StringUtils.isEmpty(code)){
return "驗證碼不能為空";
}
String kapchaCode = session.getAttribute("verifyCode")+"";
if(StringUtils.isEmpty(kapchaCode)||!code.toLowerCase().equals(kapchaCode)){
return "驗證碼輸入錯誤";
}
return "驗證成功";
}
}

前端代碼

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>驗證碼驗證</title>
</head>
<body>

<img src="/kaptcha" onclick="this.src='/kaptcha?d=new Date()'">

<br>
<input type="text" maxlength="5" id="code" placeholder="請輸入驗證碼"/>
<button id="verify">驗證</button>
<br/>
<p id="verifyResult"></p>

</body>

<script src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" >
$(function(){
//驗證按鈕點擊事件
$('#verify').click(function(){
var code=$('#code').val();
$.ajax({
type:'GET',//方法類型
url:'/verify?code='+code,
success:function(result){
$('#verifyResult').html(result);
},
error:function(){
alert('請求失敗');
},
});
});
});
</script>
</html>

效果

圖片

圖片

圖片

結束語

生成驗證碼功能還是比較常用的,所以記錄整理一下,方便以后回顧,如果有幫到你們的地方倍感榮幸,有路過的大佬還望不吝雅教!

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2022-03-08 08:39:22

gRPC協議云原生

2023-12-30 13:41:39

JSON格式數據

2023-04-12 08:21:30

ChatGPTQQDiscord

2023-09-11 13:08:26

2024-07-29 12:21:12

2015-12-03 14:10:26

systemd容器Linux

2022-12-09 09:21:10

分庫分表算法

2021-12-01 06:50:50

Docker底層原理

2023-04-04 08:14:45

2022-10-11 08:48:08

HTTP狀態碼瀏覽器

2017-12-19 09:05:39

2024-07-10 18:55:09

Python定時

2024-01-19 08:25:38

死鎖Java通信

2023-01-10 08:43:15

定義DDD架構

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發編程

2022-04-26 08:10:33

MySQL存儲InnoDB

2025-03-18 09:20:00

Go語言Golang
點贊
收藏

51CTO技術棧公眾號

成人av在线播放观看| 免费人成黄页网站在线一区二区| 51社区在线成人免费视频| 大胆亚洲人体视频| 日韩中文有码在线视频| 精品一区二区国产| 午夜69成人做爰视频| 国产粉嫩在线观看| 亚欧美无遮挡hd高清在线视频| 亚洲国产精品成人久久综合一区| 亚洲黄色在线看| 五月天综合婷婷| 在线免费av片| 精品美女视频| 欧洲色大大久久| 久久香蕉综合色| 妺妺窝人体色www在线下载| 成人在线免费电影网站| 国产欧美日本一区视频| 欧美洲成人男女午夜视频| 538国产视频| 国模私拍一区二区国模曼安| 国产日韩一级二级三级| 国产成人一区二区| www.av天天| 黄色录像特级片| 久久婷婷人人澡人人喊人人爽| 一级片免费在线观看视频| 国产高清自拍视频在线观看| 性娇小13――14欧美| 亚洲精品国精品久久99热| 国产无色aaa| 精品自拍一区| 韩国一区二区视频| 欧美成人免费网| 人妻av一区二区三区| 中文字幕免费高清电视剧网站在线观看| 欧美日一区二区在线观看| 91精品免费在线| 粉嫩av一区二区三区天美传媒| 国产精品-色哟哟| 国产精品久久久乱弄| 欧美日韩日本视频| 9191国产视频| 快射av在线播放一区| 国产女主播视频一区二区| 久久精品女人的天堂av| 欧美 日韩 国产 成人 在线| 国产欧美日韩一区二区三区在线| 欧美日韩一区二区三区在线看| 999在线观看免费大全电视剧| 黄色av网址在线观看| 国产亚洲精aa在线看| 亚洲国产成人tv| 美女被啪啪一区二区| 手机在线观看毛片| 日韩电影在线免费| 久久91亚洲人成电影网站| 色哟哟视频在线| 国产成人免费9x9x人网站视频| 成人av电影在线观看| 欧洲日本亚洲国产区| 中文字幕一区二区三区精品| 欧美丝袜一区| 精品国产免费一区二区三区四区 | 欧美大片第1页| 伊人av在线播放| 精品国产免费人成网站| 国产精品久久久久久久久免费丝袜| 国产69久久精品成人| 一道本在线观看| av一区二区在线播放| 国产亚洲一区二区在线| 久久久久亚洲av片无码v| 日韩精品成人在线观看| 日本韩国视频一区二区| 免费cad大片在线观看| 肉肉视频在线观看| 中文一区一区三区高中清不卡| 97超碰在线播放| 天天操夜夜操视频| 亚洲精品国产偷自在线观看| 美女福利精品视频| 久久久久久久久99| 999精品视频| 亚洲男人天堂古典| 国产人成视频在线观看| 欧美激情网址| 精品久久一区二区| 一区二区久久精品| 影音成人av| 欧美一区二区三区免费在线看| 中国黄色录像片| 高清在线观看av| 国产精品久久福利| 青青青青草视频| av网站免费在线观看| 亚洲成人免费电影| 怡红院亚洲色图| 国产一区一一区高清不卡| 3d成人动漫网站| 极品粉嫩小仙女高潮喷水久久| 免费成人在线电影| 日韩理论片在线| 亚洲高清资源综合久久精品| 欧美日韩伦理片| 91蜜桃在线观看| 久久久久久九九九九| 91官网在线| 国产精品免费久久| 亚洲综合视频一区| 免费网站看v片在线a| 国产精品久线观看视频| 无码粉嫩虎白一线天在线观看 | 日韩精品一区二区三区不卡| 影音先锋男人资源在线| 色诱视频网站一区| 国产综合免费视频| 欧美男女交配| 欧美在线免费播放| 欧美黄色免费网址| 欧美成人一二区| 欧美丝袜丝交足nylons| 在线观看免费视频国产| 国产高清一区| 国产精品久久久久久久久久久新郎| 国语对白在线播放| 91精品综合| 国产成人亚洲综合91| 日本久久一级片| 一区二区免费视频| 无码专区aaaaaa免费视频| 欧美激情网站| 欧美一区二区三区小说| 少妇太紧太爽又黄又硬又爽小说| 日韩中文字幕视频网| 一区二区三区日韩在线| 免费网站在线高清观看| 色婷婷一区二区三区| 蜜臀久久99精品久久久无需会员| 2025国产精品自拍| 国内精品福利| 欧洲日韩成人av| 亚洲欧洲成人在线| 国产欧美在线观看一区| 亚洲色成人一区二区三区小说| 一色桃子av在线| 欧美日韩高清在线播放| 内射毛片内射国产夫妻| 欧美ab在线视频| 2021久久精品国产99国产精品| 中文字幕激情小说| 99久久久精品| 亚洲欧洲免费无码| 国产成人免费| 久久精品视频在线| 激情综合网五月婷婷| 媚黑女一区二区| 亚洲综合最新在线| 理论视频在线| 欧洲另类一二三四区| 国产视频三区四区| 精品一区在线看| 六月婷婷久久| 三级成人在线| 亚洲成人999| 成人欧美一区二区三区黑人一| 少妇精品久久久一区二区三区| 日韩视频在线你懂得| av无码一区二区三区| 国产精品久久久久久模特| 玛丽玛丽电影原版免费观看1977| 黄色网页在线免费看| 91精品国产综合久久精品图片| 国产婷婷在线观看| 亚洲欧美视频一区二区三区| 日韩高清在线播放| 久草在线视频网站| 69堂成人精品免费视频| 欧美美女性生活视频| 国产精品一区在线观看乱码| 色姑娘综合网| 一个人看的www视频在线免费观看| 亚洲高清视频中文字幕| 中文字幕日韩三级片| 日韩1区2区3区| 欧美久久久久久| 国产伦理精品| 中文字幕亚洲综合久久| wwwwww国产| 国产精品国产三级国产| 91网址在线观看精品| 日韩综合在线| 福利视频久久| 日韩欧美一起| 亚洲一二在线观看| 成人午夜免费福利| 亚洲制服丝袜av| 少妇毛片一区二区三区| a91a精品视频在线观看| 国产日韩二区| 爱情岛亚洲播放路线| 欧美成人综合网站| 麻豆疯狂做受xxxx高潮视频| 久久亚洲综合色一区二区三区| 亚洲国产成人不卡| 99re8这里有精品热视频免费| 亚洲韩国欧洲国产日产av | 日韩理论片网站| 极品粉嫩小仙女高潮喷水久久| 亚洲男女自偷自拍| 欧洲金发美女大战黑人| 不卡视频在线| 久久综合一区| 黑人久久a级毛片免费观看| 亚洲一区二区国产| 黄色av网站免费在线观看| 欧美伦理视频网站| 免费在线观看h片| 国产女同性恋一区二区| 欧美做受喷浆在线观看| 久草精品在线观看| 国产高潮免费视频| 天堂网在线观看国产精品| 欧美精品v日韩精品v国产精品| 天堂在线中文网官网| 久久精品成人欧美大片古装| 国产主播福利在线| 欧美亚洲禁片免费| www.com国产| 激情成人在线视频| 中国女人特级毛片| 久久久久综合网| 亚洲福利精品视频| 久久婷婷麻豆| 一区一区视频| 日本高清久久| 91久久久在线| 免费在线小视频| 久久久久久国产免费| 你懂的在线观看视频网站| 精品国产乱码久久久久久1区2区| 99超碰在线观看| 国产精品日韩精品欧美在线| 欧美黄色一级生活片| 97久久精品人人做人人爽50路| 青青在线视频免费观看| 欧美国产美女| 亚洲国产欧美一区二区三区不卡| 深夜福利一区二区三区| 亚洲一区二区三区久久| 免费一级欧美片在线观看网站| 亚洲四色影视在线观看| 国产伦精品一区二区三区四区| 成人激情黄色小说| av地址在线观看| 成人在线一区二区三区| 黄色网址在线视频| 久久精品一区二区三区不卡牛牛| 手机在线国产视频| 国产一区二区在线观看免费| 日韩少妇内射免费播放| 国产精品毛片一区二区在线看| 成人国产1314www色视频| 一区二区日韩| 精品视频第一区| 国产一区二区精品福利地址| 91免费在线观看网站| 草草视频在线一区二区| 久久精品国产综合精品| 成人羞羞网站| 狠狠精品干练久久久无码中文字幕| sdde在线播放一区二区| 一区二区三区四区五区精品| 亚洲精品网址| 日本xxxxxxxxxx75| 日韩综合小视频| 91欧美一区二区三区| 99视频一区二区| 亚洲精品国产91| 自拍av一区二区三区| 亚洲精品国产一区黑色丝袜| 国产精品久久久久影院亚瑟| 麻豆疯狂做受xxxx高潮视频| 一本到不卡精品视频在线观看| 国产污视频在线看| 色婷婷久久久亚洲一区二区三区 | 乱码一区二区三区| 91亚洲精华国产精华精华液| 国产精品一区二区亚洲| 一区二区三区四区不卡视频| 成人性生交大片免费看无遮挡aⅴ| 北岛玲一区二区三区四区| 日本少妇高潮喷水xxxxxxx| 亚洲女人****多毛耸耸8| 午夜时刻免费入口| 亚洲精选一二三| 欧美另类高清videos的特点| 一本高清dvd不卡在线观看| 国产又黄又大又粗的视频| 亚洲精品国产福利| 91三级在线| 国产精品日韩久久久久| 99久久er| 国产欧美韩日| 亚洲一区色图| xxxxxx在线观看| 天堂在线亚洲视频| 动漫美女无遮挡免费| 成人sese在线| 小向美奈子av| 亚洲欧美日韩国产另类专区| 四虎精品永久在线| 欧美电影精品一区二区| 淫片在线观看| 欧美成人在线免费| 成人在线视频免费| 欧美另类高清视频在线| 伊人精品视频| 无码人妻丰满熟妇区五十路百度| 国产精品久久久久久模特| 超碰人人草人人| 欧美国产日产图区| 亚洲黄网在线观看| 欧美日韩综合在线| 天堂中文字幕在线| 一本一本久久a久久精品牛牛影视| 国产黄在线看| 欧美亚洲视频一区二区| 大桥未久女教师av一区二区| 午夜久久久久久久久久久| 另类人妖一区二区av| 黄色片免费网址| 中文字幕免费不卡| 中文字幕日韩免费| 精品亚洲一区二区三区| jizzjizz在线观看| 久久不射电影网| 国产精品原创| 国产三区二区一区久久| 精品91在线| 黄色国产在线视频| 五月激情丁香一区二区三区| 黄色av小说在线观看| 国模私拍一区二区三区| 免费在线观看一区| 天堂√在线观看一区二区| 日韩福利电影在线| 欧美成人久久久免费播放| 欧美日韩精品一区二区天天拍小说 | 偷拍欧美精品| 熟妇无码乱子成人精品| 一区二区在线观看免费| 亚洲精品国产精品乱码不卡| 日韩精品视频在线观看网址 | 国模娜娜一区二区三区| 内射毛片内射国产夫妻| 欧美精品久久一区二区三区| 久久99精品久久久久久野外| 亚洲va久久久噜噜噜| 午夜欧美视频| 一级特黄a大片免费| 色94色欧美sute亚洲线路一ni| 亚洲精品人妻无码| 国内精品久久久久久久久| 亚洲va久久久噜噜噜久久| 视频一区二区视频| 国产成人午夜精品5599| www.4hu95.com四虎| 欧美日韩国产中文| 日韩伦理电影网站| 久久久久欧美| 美女视频黄久久| 久久av高潮av无码av喷吹| 亚洲国产私拍精品国模在线观看| 国产人成网在线播放va免费| 99久久精品久久久久久ai换脸| 精品免费av| caoporm在线视频| 欧美日韩亚洲高清| 国产免费一区二区三区最新不卡| 亚洲男人天堂2019| 亚洲爽爆av| 日韩偷拍一区二区| 久久国产欧美日韩精品| 国产亚洲欧美久久久久 | 少妇一区二区三区四区| 国产97在线观看| 国产精品22p| www.色偷偷.com| 久久久亚洲高清| 一本久道久久综合无码中文| 欧美激情一级欧美精品| 国产精品三级| 农村末发育av片一区二区| 欧美怡红院视频| 国产精品25p| 无码人妻精品一区二区蜜桃百度| 国产麻豆视频精品| 波多野结衣啪啪|