中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java制作簡單驗證碼功能

發布時間:2020-09-12 11:17:20 來源:腳本之家 閱讀:167 作者:evan_qb 欄目:編程語言

本文實例為大家分享了java制作簡單驗證碼的具體代碼,供大家參考,具體內容如下

在這里我們需要用到java的畫筆工具,所以我們需要導入以下包
import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*"

然后我就使用java腳本來實現一個小小的驗證碼

<%@ page contentType="image/jpeg; charset=utf-8" 
  language="java" import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*" 
  pageEncoding="UTF-8"%> 
  <!-- 以上導入awt和awt.image包 --> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
 <head> 
 <base href="<%=basePath%>" rel="external nofollow" > 
  
 <title>驗證碼</title> 
  
 <meta http-equiv="pragma" content="no-cache"> 
 <meta http-equiv="cache-control" content="no-cache"> 
 <meta http-equiv="expires" content="0">  
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
 <meta http-equiv="description" content="This is my page"> 
 
 </head> 
 
 <body> 
  <%! 
   //獲取隨機顏色 
   public Color getColor(){ 
    Random random = new Random(); 
    //使用rgb()隨機產生顏色 
    int r = random.nextInt(256); 
    int g = random.nextInt(256); 
    int b = random.nextInt(256); 
     
    return new Color(r,g,b); 
   } 
    
   //獲取隨機數字 產生一個4位數 
   public String getNum(){ 
    String str = ""; 
    Random random = new Random(); 
    for(int i = 0;i < 4;i++){ 
     str += random.nextInt(10); //0-9 
    } 
    return str; 
   } 
   %> 
   
   <% 
   /* 清除緩存 */ 
   response.setHeader("pragma", "mo-cache"); 
   response.setHeader("cache-control", "no-cache"); 
   response.setDateHeader("expires", 0); 
   //產生矩形框 
   BufferedImage image = new BufferedImage(80,30,BufferedImage.TYPE_INT_RGB); 
   //獲取畫筆工具 
   Graphics g = image.getGraphics(); 
   //設置矩形框的顏色 
   g.setColor(new Color(200,200,200)); 
   //設置坐標和寬高 
   g.fillRect(0, 0, 80, 30); 
    
   //隨機產生干擾線 
   for(int i = 0;i < 30;i++){ 
    Random random = new Random(); 
    int x = random.nextInt(80); 
    int y = random.nextInt(30); 
    int x1 = random.nextInt(x + 10); 
    int y1 = random.nextInt(y + 10); 
    //設置隨機顏色 
    g.setColor(getColor()); 
    //畫出來 
    g.drawLine(x, y, x1, y1); 
   } 
    
   //字的顏色和數字 
   g.setFont(new Font("Microsoft YaHei",Font.BOLD,16)); 
   g.setColor(Color.BLACK); 
   //獲取隨機數字 
   String checkNum = getNum(); 
    
   //給字拼接空格 
   StringBuffer sb = new StringBuffer(); 
   for(int i = 0;i < checkNum.length();i++){ 
    sb.append(checkNum.charAt(i) + " "); 
   } 
   //畫出數字 
   g.drawString(sb.toString(), 15, 20); 
   //存入session域中 
   session.setAttribute("CHECKNUM", checkNum); //例如1010 
   //將圖像以jpeg的形式通過字節流輸出 
   ImageIO.write(image, "jpeg", response.getOutputStream()); 
   //清除緩存 
   out.clear(); 
   //放入body中 
   out = pageContext.pushBody(); 
   %> 
   
 </body> 
</html>

 結果如下:

java制作簡單驗證碼功能

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台安县| 郧西县| 涟源市| 卢龙县| 靖州| 迭部县| 大英县| 渝北区| 禹城市| 含山县| 扎鲁特旗| 佛教| 阜阳市| 麟游县| 稷山县| 柳州市| 文安县| 宜黄县| 民乐县| 大兴区| 定远县| 英山县| 兴仁县| 斗六市| 鄂伦春自治旗| 惠东县| 祁东县| 康马县| 靖远县| 磐石市| 河曲县| 东海县| 平顺县| 买车| 泸定县| 柳江县| 安吉县| 木里| 澄江县| 临泉县| 延安市|