圖片驗證碼的生成

圖片驗證碼的生成

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        
        //6、設置頭,控制瀏覽器不要緩存圖片數(shù)據(jù)
        response.setHeader("Expires", "-1");
        response.setHeader("Cache-Control", "no-cache");
        response.setHeader("pragma", "no-cache");
        
        //5、通知瀏覽器以圖片的方式打開
        response.setHeader("content-type", "image/jpeg");
        
        //1、在內存中創(chuàng)建一幅圖片
        BufferedImage image = new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB);
        
        //2、得到圖片
        Graphics g = image.getGraphics();
        //設置圖片背景顏色
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, 80, 20);
        
        //3、向圖片上寫數(shù)據(jù)
        g.setColor(Color.BLUE);
        g.setFont(new Font(null,Font.BOLD,20));
        g.drawString(makeNum(), 0, 20);
        
        
        //4、將圖片寫給瀏覽器
        ImageIO.write(image, "jpg", response.getOutputStream());
    }

隨機數(shù)的生成

//生成七位隨機數(shù)的函數(shù)
    private String makeNum() {
        
        Random r = new Random();
        String num = r.nextInt(9999999) + "";
        StringBuffer sb = new StringBuffer();
        for (int i=0;i<7-num.length();i++){
            sb.append("0");        //不夠七位的用“0”補充
        }
        
        num = sb.toString()+num;    //字符串合并
        
        return num;
    }

中文驗證碼

  • 將常用字的編碼放到一個數(shù)組中,然后使用隨機數(shù)調用即可。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 前言:這篇文章里面的代碼是基于spring boot的,直接拷貝可用,可以先用了再去理解里面原理1.請求獲取驗證碼...
    samgroves閱讀 19,443評論 0 8
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,679評論 0 4
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,734評論 18 399
  • 荔枝說:人,很有趣。在不同的年齡階段,我們會喜歡上不同類型的音樂,不同種類的書籍,以及不同類型的人。因為,在我們所...
    一枚荔枝閱讀 256評論 3 3
  • imryo閱讀 400評論 6 13

友情鏈接更多精彩內容