最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot整合kaptcha生成驗證碼功能

 更新時間:2020年10月22日 10:30:09   作者:Mitsuha三葉  
這篇文章主要介紹了springboot整合kaptcha生成驗證碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

介紹:kaptcha 是谷歌開源的非常實用的驗證碼生成工具

一、導入jar包

<!-- kaptcha驗證碼 -->
<dependency>
	<groupId>com.github.penggle</groupId>
	<artifactId>kaptcha</artifactId>
	<version>2.3.2</version>
</dependency>

二、編寫kaptcha配置類

package com.zym.config;

import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

@Configuration
public class KaptchaConfig {

  @Bean
  public DefaultKaptcha defaultKaptcha(){
    DefaultKaptcha kaptcha = new DefaultKaptcha();

    Properties properties = new Properties();
    //邊框
    properties.setProperty("kaptcha.border", "no");
    //字體顏色
    properties.setProperty("kaptcha.textproducer.font.color", "green");
    //圖片寬度
    properties.setProperty("kaptcha.image.width", "120");
    //圖片高度
    properties.setProperty("kaptcha.image.height", "30");
    //字體大小
    properties.setProperty("kaptcha.textproducer.font.size", "20");
    //session key
    properties.setProperty("kaptcha.session.key", "kaptcha");
    //驗證碼長度
    properties.setProperty("kaptcha.textproducer.char.length", "4");
    //字體
    properties.setProperty("kaptcha.textproducer.font.names", "宋體");
    //文字間隔
    properties.setProperty("kaptcha.textproducer.char.space", "10");
    //噪點實現(xiàn)類
    properties.setProperty("kaptcha.noise.impl", "com.google.code.kaptcha.impl.NoNoise");
    //圖片樣式-陰影
    properties.setProperty("kaptcha.obscurificator.impl", "com.google.code.kaptcha.impl.ShadowGimpy");

    Config config = new Config(properties);
    kaptcha.setConfig(config);
    return kaptcha;
  }
}

三、編寫接口

package com.zym.controller;

import com.google.code.kaptcha.impl.DefaultKaptcha;
import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.awt.image.BufferedImage;
import java.io.IOException;

@RestController
public class KaptchaController {

  @Autowired
  private DefaultKaptcha defaultKaptcha;

  @GetMapping("/kaptcha")
  public void getKaptcha(HttpServletRequest request, HttpServletResponse response) throws IOException {
    //設置響應頭
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragma", "no-cache");
    response.setContentType("image/jpeg");

    String text = defaultKaptcha.createText();
    HttpSession session = request.getSession();
    //將驗證碼存入session
    session.setAttribute("code", text);
    //創(chuàng)建驗證碼圖片
    BufferedImage image = defaultKaptcha.createImage(text);
    ServletOutputStream os = response.getOutputStream();
    ImageIO.write(image, "jpg", os);
    IOUtils.closeQuietly(os);
  }
}

四、測試接口

使用PostMan:
輸入url:localhost:8080/kaptcha
成功得到驗證碼圖片,大功告成!

在這里插入圖片描述

到此這篇關于springboot整合kaptcha生成驗證碼功能的文章就介紹到這了,更多相關springboot整合kaptcha驗證碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中枚舉類enum的values()方法舉例詳解

    Java中枚舉類enum的values()方法舉例詳解

    這篇文章主要給大家介紹了關于Java中枚舉類enum的values()方法舉例詳解,作為一種常用方法,可以在枚舉中對數(shù)組里的枚舉值進行遍歷,這就是values()方法的使用,需要的朋友可以參考下
    2023-11-11
  • IDEA2022.2的簡介、下載與安裝、配置教程

    IDEA2022.2的簡介、下載與安裝、配置教程

    IDEA是JetBrains公司推出一個集成開發(fā)工具,是Java開發(fā)工具中的翹楚,基于這個開發(fā)工具可以快速開發(fā)我們的Java相關項目,本文重點給大家介紹IDEA2022.2的簡介、下載與安裝、初步配置,感興趣的朋友一起看看吧
    2022-11-11
  • Java實現(xiàn)的3des加密解密工具類示例

    Java實現(xiàn)的3des加密解密工具類示例

    這篇文章主要介紹了Java實現(xiàn)的3des加密解密工具類,結(jié)合完整實例形式分析了3des加密解密的具體步驟與相關操作技巧,需要的朋友可以參考下
    2017-10-10
  • SpringBoot依賴及其作用分析

    SpringBoot依賴及其作用分析

    這篇文章主要介紹了SpringBoot依賴及其作用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Mybatis plus中使用in查詢出錯如何解決

    Mybatis plus中使用in查詢出錯如何解決

    這篇文章主要介紹了Mybatis plus中使用in查詢出錯的問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • springboot+jwt+微信小程序授權(quán)登錄獲取token的方法實例

    springboot+jwt+微信小程序授權(quán)登錄獲取token的方法實例

    本文主要介紹了springboot+jwt+微信小程序授權(quán)登錄獲取token的方法實例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • IDEA?中使用?Hudi的示例代碼

    IDEA?中使用?Hudi的示例代碼

    這篇文章主要介紹了IDEA?中使用?Hudi的相關知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 基于java讀取并引用自定義配置文件

    基于java讀取并引用自定義配置文件

    這篇文章主要介紹了基于java讀取并引用自定義配置文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Java枚舉類實現(xiàn)Key-Value映射的多種實現(xiàn)方式

    Java枚舉類實現(xiàn)Key-Value映射的多種實現(xiàn)方式

    在 Java 開發(fā)中,枚舉(Enum)是一種特殊的類,本文將詳細介紹 Java 枚舉類實現(xiàn) key-value 映射的多種方式,有需要的小伙伴可以根據(jù)需要進行選擇
    2025-04-04
  • java中a=a+1和a+=1的區(qū)別介紹

    java中a=a+1和a+=1的區(qū)別介紹

    這篇文章主要介紹了java中a=a+1和a+=1的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論

吉木乃县| 南漳县| 贺州市| 桃江县| 呈贡县| 乐清市| 九江市| 黑水县| 陇川县| 兴义市| 临西县| 金平| 蒲江县| 马山县| 安吉县| 苏尼特左旗| 晋州市| 县级市| 儋州市| 牙克石市| 安塞县| 秭归县| 青铜峡市| 廉江市| 宁陕县| 青海省| 方城县| 成都市| 普兰店市| 河池市| 怀柔区| 武平县| 思茅市| 鄯善县| 土默特左旗| 安新县| 榆树市| 宿松县| 江门市| 东阿县| 乐陵市|