婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Java Web開發之圖形驗證碼的生成與使用方法

Java Web開發之圖形驗證碼的生成與使用方法

熱門標簽:四川保險智能外呼系統商家 高德地圖標注樣式 電銷機器人是有一些什么技術 商洛電銷 地圖標注線上教程 杭州語音電銷機器人軟件 北票市地圖標注 電銷機器人好賣么 杭州ai語音電銷機器人功能

本文實例講述了Java Web開發之圖形驗證碼的生成與使用方法。分享給大家供大家參考。具體如下:

圖形驗證碼的主要目的是為了增強的安全性,增加用戶通過遍歷所有可能性來破解密碼的難度。

圖形驗證碼的使用包括如下3部分:

① 圖形驗證碼的生成;
② 在頁面中的使用;
③ 驗證;

1、圖形驗證碼的生成

假設在Servlet生成圖形驗證碼,在JavaBean或者JSP中生成的基本過程是相同的。設計如下過程:

① 設置響應的文檔類型;
② 生成隨機碼;
③ 把隨機碼保存到session中;
④ 生成圖片;
⑤ 把隨機碼畫到內存圖片上;
⑥ 把內存圖片發送到客戶端;

1.1 設置響應的文檔類型

在對用戶進行響應的時候,需要設置文檔類型,要生成圖片文檔類型可以設置為:image/gif。
在Servlet中的設置方式為:response.setContentType("image/gif");
如果在JSP頁面中使用則需要使用:%@ page contentType="image/gif"%>

1.2 生成隨機碼

可以根據各種隨機數生成策略來生成,并且可以設置隨機碼有哪些字符組成以及隨機碼的長度。

本文給出的隨機碼字符是所有字母和數字。使用的隨機碼生成策略使用的是Random對象提供的。參考代碼如下:

隨機碼字符列表:

public static final char[] code = {'a','b','c','d','e','f','g',
  'h','i','j','k','l','m','n',
  'o','p','q','r','s','t',
  'u','v','w','x','y','z',
  'A','B','C','D','E','F','G',
  'H','I','J','K','L','M','N',
  'O','P','Q','R','S','T',
  'U','V','W','X','Y','Z',
  '0','1','2','3','4',
  '5','6','7','8','9'};

生成隨機碼的代碼:

StringBuffer checkcode=new StringBuffer();
// 每循環一次,生成一位
for(int i=0;icode_length;i++)
{
  int generated=(new Random()).nextInt(62);
  checkcode.append(code[generated]);
}

1.3 把隨機碼保存到session中

為了在用戶提交驗證碼之后進行驗證,需要保存生成的驗證碼,可以保存在session中。在Servlet中需要先獲取session對象,然后再使用。

下面是參考代碼:

// 把生成的驗證碼保存到session中
HttpSession  session=request.getSession(true);
session.setAttribute("checkCode",checkcode.toString());

1.4 生成圖片

使用BufferedImage類創建對象,然后使用畫圖對象畫圖。下面是參考代碼:

// 創建內存圖片,參數為圖片的大小以及類型
BufferedImage image = new  BufferedImage(49,14,BufferedImage.TYPE_INT_RGB);
// 得到Graphics句柄
Graphics  g = image.getGraphics();
// 設置畫筆顏色
// g.setColor(Color.yellow);
// 畫背景
g.fillRect(0,1,49,12);
1.5 把隨機碼顯示在圖片上
參考下面的代碼:
// 設置字體色
g.setColor(Color.black);
// 畫驗證碼
g.drawString(checkcode.toString(),4,11);
// 圖象生效
g.dispose();

1.6 把生成的圖片發送到客戶端

參考代碼如下:

復制代碼 代碼如下:
ImageIO.write(image, "JPEG", response.getOutputStream());

這樣就完成了動態圖形驗證碼的生成。

2、在頁面中使用圖形碼:

與使用其它圖形的方式相同,使用img src="…">標簽。假設生成圖片的Servlet的url-pattern值為checkcode,則在頁面中加載圖片的代碼如下:

復制代碼 代碼如下:
img border=0 src="checkcode">

3、驗證

獲取用戶輸入的驗證碼,然后從session中獲取保存的驗證碼,對比來確定是否相同,從而完成驗證。

希望本文所述對大家的JSP程序設計有所幫助。

您可能感興趣的文章:
  • java web開發之servlet圖形驗證碼功能的實現
  • java圖形驗證碼生成工具類 web頁面校驗驗證碼
  • Java生成圖形驗證碼工具類
  • 關于java 圖形驗證碼的解決方法
  • Java實現EasyCaptcha圖形驗證碼的具體使用

標簽:貴州 宿州 紅河 丹東 西藏 江西 青島 云浮

巨人網絡通訊聲明:本文標題《Java Web開發之圖形驗證碼的生成與使用方法》,本文關鍵詞  Java,Web,開,發之,圖形,驗證,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Java Web開發之圖形驗證碼的生成與使用方法》相關的同類信息!
  • 本頁收集關于Java Web開發之圖形驗證碼的生成與使用方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 淮安市| 泽州县| 化德县| 杭锦旗| 聂拉木县| 郎溪县| 峨眉山市| 宾川县| 子洲县| 天全县| 广宗县| 平谷区| 清新县| 丰宁| 敦煌市| 芜湖县| 博湖县| 余干县| 胶南市| 兴仁县| 闽清县| 杭锦旗| 涿州市| 那坡县| 启东市| 辽阳县| 宜黄县| 旬阳县| 石棉县| 河津市| 云龙县| 泗阳县| 长岭县| 岳西县| 邢台县| 安多县| 三原县| 衡山县| 龙陵县| 陇南市| 绥化市|