大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java登錄驗證碼實現的方法

Java登錄驗證碼實現的方法

更新時間:2022-10-14 10:41:21 來源:動力節點 瀏覽2051次

登錄驗證是大多數登錄系統都會用到的一個功能,它的驗證方式也是有很多種,例如登錄驗證碼,登錄驗證條及拼圖拖動塊等,這里講講輸入登錄驗證碼的方式來實現的例子。首先,kaptcha這是一個開源的驗證碼實現庫,利用這個庫可以非常方便的實現驗證碼功能。

1.添加依賴

在pom文件下添加kaptcha依賴包

<!-- https://mvnrepository.com/artifact/com.github.axet/kaptcha -->
    <dependency>
      <groupId>com.github.axet</groupId>
      <artifactId>kaptcha</artifactId>
      <version>0.0.9</version>
</dependency>

2.添加配置

新建config包,在該包下創建kaptcha配置類,配置驗證碼的一些生成屬性。

KaptchaConfig.java

/**
 *  @author: yzy
 *  @Date: 2020/6/11 10:41
 *  @Description: 驗證碼的配置
 */
@Configuration
public class CaptchaConfig { 
    @Bean
    public DefaultKaptcha producer() {
        Properties properties = new Properties();
        properties.put("kaptcha.border","no");
        properties.put("kaptcha.textproducer.font.color","black");
        properties.put("kaptcha.textproducer.char.space","5");
        Config config = new Config(properties);
        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
        defaultKaptcha.setConfig(config);
        return defaultKaptcha;
    } 
}

3.生成代碼

新建一個控制器,提供系統登錄相關的API,在其中添加驗證碼生成接口。

LoginController.java

/**
 *  @author: yzy
 *  @Date: 2020/6/11 10:58
 *  @Description: 登錄控制器
 */
@RestController
public class LoginController {
    @Resource
    private Producer producer; 
    /**
     * @Description:  驗證碼生成接口
     * @Author:       yzy
     * @Date:         2020/6/11 11:00
     * @Param:        response
     * @Param:        request
     * @Return:       void
     * @Exception
     *
     */
    @RequestMapping(value = "/captcha.jpg",method = RequestMethod.GET)
    public void captcha(HttpServletResponse response, HttpServletRequest request) {
        /**
         * Cache-Control指定請求和響應遵循的緩存機制
         * no-store:用于防止重要的信息被無意的發布。在請求消息中發送將使得請求和響應消息都不使用緩存。
         * no-cache:指示請求或響應消息不能緩存
         */
        response.setHeader("Cache-Control","no-store,no-cache"); 
        // 設置輸出流內容格式為圖片格式.image/jpeg,圖片格式用于生成圖片隨機碼
        response.setContentType("image/jpeg"); 
        // 生成文字驗證碼
        String text = producer.createText(); 
        // 生成圖片驗證碼
        BufferedImage image = producer.createImage(text); 
        // 保存驗證碼到session中
        request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY,text);
        ServletOutputStream outputStream = null;
        try {
            outputStream = response.getOutputStream();
            ImageIO.write(image,"jpg",outputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
        IOUtils.closeQuietly(outputStream);
    }
}

測試接口

編譯成功后,訪問http://localhost:8010/swagger-ui.html,進入swagger測試頁面,測試結果如圖:

這樣就大功告成了!

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久影视免费体验区午夜啪啪 | 亚洲十欧美十日韩十国产 | 久久久久日韩精品无 | 亚洲精品成人一区 | 亚洲欧洲日韩国产一区二区三区 | xxxxyoujizz护士| 青春禁区视频在线观看动漫版 | 男女生性毛片免费观看 | 欧美一区二区手机在线观看视频 | 日本免费一二三区 | 国产边打电话边被躁视频 | 私人影院在线 | 国产在线播放91 | 日韩免费看 | 午夜精品久久久久久久90蜜桃 | 女性一级全黄生活片免费看 | 老头与老头同性tube可播放 | 中文字幕久热 | 亚洲一区二区三区免费观看 | 本道综合 | 日韩午夜伦 | 曰本女人视频69xxx | 激情综合五月亚洲婷婷 | 国产成人a大片大片在线播放 | 国产精品免费一区二区三区四区 | 伊人色综合久久天天网蜜月 | 欧美猛妇色xxxxxbbbb | 日本一区二区成人教育 | 亚洲成色| 国内精品久久久久久久 | 四虎在线看 | 99热久久这里只有精品7 | 久久香蕉精品 | 四虎成人永久影院 | a网站在线观看 | 女人用粗大自熨喷水在线视频 | 国产另类视频 | 99热在线免费播放 | 99re66热这里只有精品首页 | 99九九热 | 国产成人99久久亚洲综合精品 |