国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot的文件緩存(easy-captcha 驗(yàn)證碼)

這篇具有很好參考價(jià)值的文章主要介紹了springboot的文件緩存(easy-captcha 驗(yàn)證碼)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

springboot使用緩存的方法 (這里我們來說使用 springboot 默認(rèn)的文件緩存)

其實(shí) springboot 使用了 CatchManager 來管理緩存,有了它, 我們就可以緩一的使用各種各樣的緩存, 比如 ConcurrentCatchMap redis 等緩存, 它們的使用方法都是一樣的

用法

  1. 引入
 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
            <version>....</version>
</dependency>
  1. yml 中配置
spring:
  cache:
    cache-names: [ huang,cache2 ]   //給緩存配置一個(gè)名稱
  1. 開啟緩存
    在任何一個(gè) springboot 中的一個(gè)配置類上 ,加上注解 @EnableCaching
  2. 使用
    可以使用注解的方式使用緩存, 很方便, 網(wǎng)上也有很多的使用方法, 這里就不多說了, 這里說一下,手動(dòng)的存入緩存,并使用一方法
    比如, 我們要給前端一個(gè)驗(yàn)證碼, 并在前端提交時(shí)驗(yàn)證驗(yàn)證碼是否正確, 使用了 easy-captcha
       <dependency>
            <groupId>com.github.whvcse</groupId>
            <artifactId>easy-captcha</artifactId>
            <version>1.6.2</version>
        </dependency>

引入 easy-captcha

package com.huang.test.captcha.controlloer;

import com.huang.test.captcha.common.R;
import com.wf.captcha.SpecCaptcha;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collection;
import java.util.UUID;

@RestController
@RequestMapping("/demo")
public class DemoController {
    @Autowired
    private CacheManager cacheManager;
    @GetMapping("/getCaptcha")
    public R getCaptcha(){
        SpecCaptcha specCaptcha = new SpecCaptcha(130, 80, 5);   //新建一個(gè)驗(yàn)證碼類
        String verCode = specCaptcha.text().toLowerCase();		//生成驗(yàn)證碼字符
        System.out.println(verCode);
        String key = UUID.randomUUID().toString();		//為驗(yàn)證碼生成一個(gè)key , 這個(gè)key 是要返回給前端的
        System.out.println(cacheManager);
        //Collection<String> cacheNames = cacheManager.getCacheNames();
        //System.out.println(cacheNames.size());
        //for (String cacheName : cacheNames) {
         //   System.out.println(cacheName);
        //}
        Cache codeCache = cacheManager.getCache("huang");   //我們?cè)趛ml中 配置了一個(gè) 名為 huang  的Cache 
        codeCache.put(key,verCode);   //把 key  和  驗(yàn)證碼字符寫入緩存中
        return R.ok().put("key",key).put("imageStr", specCaptcha.toBase64());  返回前端驗(yàn)證碼的圖片
    }
    

	//這個(gè)方法是 上個(gè)方法中返回給前端的數(shù)據(jù), 通返回的key 來讀取緩存, 及緩存中的數(shù)據(jù)
    @GetMapping("/getCache")
    public R getCache(String key){
        Cache codeCache = cacheManager.getCache("huang");
        String text = (String) codeCache.get(key).get();
        return R.ok().put("code",text);
    }

}

說一個(gè)springboot 緩存的結(jié)構(gòu)
springboot 有一個(gè) CacheManager 管理緩存的對(duì)象,
而 CacheManager 可以管理很多的 Cache 對(duì)象, 只是 每一個(gè)cache 對(duì)象的名稱不同, 上面例子中的yml 中的配置就 配置了兩個(gè)緩存的對(duì)象, 一個(gè)名稱叫做 huang 另一個(gè)叫 cache2, 我們?cè)诖a中, 使用了 huang 緩存來存入數(shù)據(jù)

一個(gè) cacheManager 中可以有 多個(gè) Cache 的對(duì)象,只是它們的名稱不同

上面的緩存沒有過期時(shí)間的方法, 所以 我們要想給緩存加一個(gè)過期時(shí)間, 就需要我們自已來定義一個(gè)緩存的類

創(chuàng)建一個(gè)配置類 把yml中的配置 刪除

package com.huang.test.captcha.config;


import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.concurrent.ConcurrentMapCache;
import org.springframework.cache.support.SimpleCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.HashSet;
import java.util.Set;

@Configuration
@EnableCaching
public class CatchConfig {

    @Bean
    public CacheManager cacheManager(){
    	//catcheManager 是一個(gè)接口, 所以我們使用它的  SimpleCacheManager 的子類來創(chuàng)建
        SimpleCacheManager simpleCacheManager = new SimpleCacheManager();
       	//simpleCacheManager 需要指定它所管理的 緩存類 列表,  所以我們這里新建一個(gè) set 且來存放 Cache 緩存類
        Set<Cache> set = new HashSet<>();
        Cache cache = new ConcurrentMapCache("huang");  //創(chuàng)建一個(gè) Cache 的緩存類 注意是 springboot 的緩存類, 不要引錯(cuò)了import org.springframework.cache.Cache;
        Cache cache2 = new ConcurrentMapCache("cache2"); //創(chuàng)建一個(gè) Cache 名為  cache2
        set.add(cache);
        set.add(cache2);
        simpleCacheManager.setCaches(set);   //設(shè)置 緩存管理類,所管理的緩存列表
        return simpleCacheManager;
    }

}

如果我們要自定義 緩存類, 比如給緩存加上過期時(shí)間, 就可以自己寫一個(gè)類去繼承 Cache 接口,并添加一些方法, 來做緩存過期時(shí)間的功能文章來源地址http://www.zghlxwxcb.cn/news/detail-498077.html

到了這里,關(guān)于springboot的文件緩存(easy-captcha 驗(yàn)證碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 爬蟲突破驗(yàn)證碼技術(shù) - 2Captcha

    爬蟲突破驗(yàn)證碼技術(shù) - 2Captcha

    驗(yàn)證碼(CAPTCHA),全稱為\\\"Completely Automated Public Turing test to tell Computers and Humans Apart\\\",是一種區(qū)分用戶是計(jì)算機(jī)還是人的公共全自動(dòng)程序。最初,驗(yàn)證碼主要是一些混雜字母和數(shù)字的圖片,但隨著技術(shù)的發(fā)展,出現(xiàn)了更多種類的驗(yàn)證碼,例如reCAPTCHA、GeeTest拼圖驗(yàn)證碼、hCaptc

    2024年02月16日
    瀏覽(19)
  • SpringBoot實(shí)現(xiàn)圖形驗(yàn)證碼功能+訪問頻率設(shè)置+緩存

    SpringBoot實(shí)現(xiàn)圖形驗(yàn)證碼功能+訪問頻率設(shè)置+緩存

    目錄 1、springboot實(shí)現(xiàn)圖形驗(yàn)證碼生成 1.1、導(dǎo)入Maven依賴 1.2、寫一個(gè)生成圖片的工具類 1.3、編寫接口生成驗(yàn)證碼并存入Redis 2、實(shí)現(xiàn)圖形驗(yàn)證碼判斷是否正確 2.1、編寫驗(yàn)證圖形驗(yàn)證碼接口 2.2、前端代碼 2.3、請(qǐng)求發(fā)送 3、實(shí)現(xiàn)訪問頻率限制 3.1、創(chuàng)建自定義注解 3.2、創(chuàng)建自定義

    2024年04月17日
    瀏覽(26)
  • Selenium+2Captcha 自動(dòng)化+驗(yàn)證碼識(shí)別實(shí)戰(zhàn)

    Selenium+2Captcha 自動(dòng)化+驗(yàn)證碼識(shí)別實(shí)戰(zhàn)

    本文深入探討了使用Selenium庫進(jìn)行網(wǎng)頁自動(dòng)化操作,并結(jié)合2Captcha服務(wù)實(shí)現(xiàn)ReCAPTCHA驗(yàn)證碼的破解。內(nèi)容涵蓋Selenium的基礎(chǔ)知識(shí)、驗(yàn)證碼的分類、2Captcha服務(wù)的使用,以及通過實(shí)例進(jìn)行的詳細(xì)講解,最后對(duì)實(shí)踐進(jìn)行總結(jié)和優(yōu)化思考,為讀者提供了一條完整的驗(yàn)證碼破解實(shí)踐路線圖

    2024年02月14日
    瀏覽(23)
  • burpsuite安裝插件captcha-killer識(shí)別驗(yàn)證碼

    burpsuite安裝插件captcha-killer識(shí)別驗(yàn)證碼

    我安裝的是burpsuite v.2021版本,于2020年后,使用的captcha-killer鏈接地址如下: (burp版本為2020年前的可查看文末鏈接1) GitHub - Ta0ing/captcha-killer-java8 https://github.com/Ta0ing/captcha-killer-java8 下載zip文件并解壓文件 打開burpsuite,Extender擴(kuò)展 - Add添加.jar文件 -Select file選擇文件 - Next -

    2023年04月08日
    瀏覽(33)
  • Gin 中使用 base64Captcha 生成圖形驗(yàn)證碼

    驗(yàn)證碼庫 https://github.com/mojocn/base64Captcha 中文文檔 Go進(jìn)階37:重構(gòu)我的base64Captcha圖形驗(yàn)證碼項(xiàng)目 | ?????? 在models文件夾中寫一個(gè)驗(yàn)證碼的文件,Captcha.go 在登錄控制器中添加獲取驗(yàn)證碼的方法,LoginController.go 設(shè)置路由,Admin.go 登錄頁面,Login.html 登錄頁的js,login.js

    2024年02月20日
    瀏覽(16)
  • Brup+Captcha-killer+ddddocr實(shí)現(xiàn)驗(yàn)證碼識(shí)別

    Brup+Captcha-killer+ddddocr實(shí)現(xiàn)驗(yàn)證碼識(shí)別

    實(shí)驗(yàn)前準(zhǔn)備:Burp(2020以后的版本jdk11) captcha-killer(burp插件針對(duì)不同版本的burp存在不同的版本) ddddocr(開源驗(yàn)證碼識(shí)別接口最新版已支持python3.10版本) 項(xiàng)目地址:https://github.com/f0ng/captcha-killer-modified https://github.com/sml2h3/ddddocr burp的安裝和破解在此不做贅述,首先我們到上面

    2023年04月09日
    瀏覽(39)
  • 對(duì)有驗(yàn)證碼的后臺(tái)網(wǎng)頁進(jìn)行爆破-captcha-killer-modified

    對(duì)有驗(yàn)證碼的后臺(tái)網(wǎng)頁進(jìn)行爆破-captcha-killer-modified

    實(shí)例:以pikachu靶場為目標(biāo) 攻擊目標(biāo)url:http://xxxx/pikachu-master/vul/burteforce/bf_server.php(xxxx為自己的靶機(jī)地址,我的就是127.0.0.1) 攻擊目標(biāo)的驗(yàn)證碼圖片接口的url:http://127.0.0.1/pikachu-master/inc/showvcode.php 通過burp工具抓包(設(shè)置burp代理之后,點(diǎn)擊login抓包包) 右擊選擇發(fā)送到captcha

    2024年02月08日
    瀏覽(21)
  • uni-app使用uniCloud實(shí)現(xiàn)圖形驗(yàn)證碼(uni-captcha)

    uni-app使用uniCloud實(shí)現(xiàn)圖形驗(yàn)證碼(uni-captcha)

    uniCloud 是 DCloud 聯(lián)合阿里云、騰訊云,為開發(fā)者提供的基于 serverless 模式和 js 編程的云開發(fā)平臺(tái)。 官方文檔:https://uniapp.dcloud.net.cn/uniCloud/uni-captcha.html 下載地址:https://ext.dcloud.net.cn/plugin?id=4048 GitCode 倉庫:https://gitee.com/dcloud/uni-captcha 圖形驗(yàn)證碼主要起到人機(jī)校驗(yàn)或其他限制

    2024年02月08日
    瀏覽(19)
  • [golang gin框架] 40.Gin商城項(xiàng)目-微服務(wù)實(shí)戰(zhàn)之Captcha驗(yàn)證碼微服務(wù)

    [golang gin框架] 40.Gin商城項(xiàng)目-微服務(wù)實(shí)戰(zhàn)之Captcha驗(yàn)證碼微服務(wù)

    本次內(nèi)容需要 gin框架基礎(chǔ)知識(shí), golang微服務(wù)基礎(chǔ)知識(shí)才能更好理解 在前面,講解了微服務(wù)的架構(gòu)等,這里,來講解前面商城項(xiàng)目的 Captcha驗(yàn)證碼 微服務(wù) ,captcha驗(yàn)證碼功能在前臺(tái),后端 都要用到 ,可以把它 抽離出來 ,做成微服務(wù)功能 編輯 這個(gè)驗(yàn)證碼功能封裝代碼captcha.go如下: 把這個(gè)

    2024年02月16日
    瀏覽(30)
  • 如何將圖片恢復(fù)水平位置?圖片旋轉(zhuǎn)矯正方法大全,ddddocr作者基于RotNet的旋轉(zhuǎn)驗(yàn)證碼深度學(xué)習(xí)識(shí)別模型Rotate-Captcha-Crack

    如何將圖片恢復(fù)水平位置?圖片旋轉(zhuǎn)矯正方法大全,ddddocr作者基于RotNet的旋轉(zhuǎn)驗(yàn)證碼深度學(xué)習(xí)識(shí)別模型Rotate-Captcha-Crack

    該模型首先使用邊緣檢測(cè)算法對(duì)圖像進(jìn)行邊緣檢測(cè),然后找到邊緣上的直線,并計(jì)算直線的角度。最后通過旋轉(zhuǎn)圖像來校正圖像的角度。 該模型基于Hough變換算法來檢測(cè)圖像中的直線,并計(jì)算直線角度,然后使用旋轉(zhuǎn)矩陣將圖像旋轉(zhuǎn)到正確的角度。 該模型使用圖像的局部特征

    2024年02月08日
    瀏覽(50)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包