国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

代碼實現簡單的生成隨機驗證碼小程序

2020-03-21 16:25:25
字體:
來源:轉載
供稿:網友

代碼實現一個簡單的生成隨機驗證碼的小程序

 

  1. //隨機生成驗證碼 
  2.   
  3. //第一步: 
  4.   
  5.     public void doGet(HttpServletRequest request, HttpServletResponse response) 
  6.             throws ServletException, IOException { 
  7.        
  8.   
  9.             test(response); 
  10.           
  11.     }   
  12.   
  13.   private void test(HttpServletResponse response) throws IOException { 
  14.   
  15.         int width = 120,height=25; 
  16.         //生成一張圖片  此時得到一張寬120,長25的一張黑色圖片 
  17.         BufferedImage  img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 
  18.           
  19.         Graphics grap = img.getGraphics();//得到一個畫筆 
  20.       
  21.         //填充背景色 
  22.         grap.setColor(Color.pink); 
  23.         //設置填充的區域 
  24.         grap.fillRect(1, 1, width-2, height-2); 
  25.           
  26.         //設置邊框的顏色  同填充背景顏色 靠近誰是設置哪個屬性的顏色 
  27.         grap.setColor(Color.red); 
  28.         grap.drawRect(0, 0, width-1, height-1); 
  29.           
  30.         //設置字體 
  31.         grap.setFont(new Font("黑體", Font.BOLD|Font.ITALIC, 18)); 
  32.           
  33.           
  34.         //向圖片上寫字 嘿嘿隨機生成了字符串 
  35.         Random r = new Random(); 
  36.         int p = 15; 
  37.         for(int i=1;i<=4;i++) 
  38.         { 
  39.             grap.drawString(r.nextInt(10)+"", p,20); 
  40.             p+=15; 
  41.         } 
  42.           
  43.         //向圖片上畫線 
  44.         for(int i=1;i<=10;i++) 
  45.         { 
  46.             grap.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height)); 
  47.         } 
  48.       
  49.         //把圖片發送給客戶端 
  50.         ImageIO.write(img, "jpg", response.getOutputStream()); 
  51.     } 
  52.   
  53.   
  54.   
  55.   
  56.   
  57. //第二部:新建login.html 
  58.   
  59.   
  60.   
  61. <!DOCTYPE html> 
  62. <html> 
  63.   <head> 
  64.     <title>login.html</title> 
  65.    <script type="text/javascript"
  66.      
  67.       function ff(){ 
  68.              var img = document.getElementById("image"); 
  69.              img.src="/day33_response/demo4?user=1"+new Date().getTime(); 
  70.             // img.setAttribute("src","/day33_response/demo4?user="+new Date().getTime()); 
  71.       } 
  72.      
  73.    </script> 
  74.   </head> 
  75.     
  76.   <body> 
  77.      <form action="#" method="get"
  78.                  用戶名<input type="text" name="uname"><br/><br/> 
  79.                   密&nbsp;碼<input type="password" name="pwd"><br/><br/> 
  80.                   驗證碼<input type="text" name="code"
  81.                   <!-- 如果image沒有寫src頁面剛加載時沒有東西,刷新之后才會顯示驗證碼圖片 --> 
  82.           <img id="image" src='/day33_response/demo4'
  83.           <!-- 換兩行 --> 
  84.          <a href="javascript:ff()">換一張</a><br/> <br/>  
  85.           <input type="submit" value="提交">  
  86.      </form>      
  87.   </body> 
  88. </html> 
  89.   
  90.   
  91.   
  92. // 大功告成就可以發布到tomcat上瀏覽了 
  93.   
  94. //此處介紹一種懶人方法,在doGet方法中,其中ValidateCode四個函數分別是矩形的寬、高以及驗證碼的個數和干擾線的條數,然后第一步的函數就可統統省略了 
  95.   
  96.       
  97.   
  98.         ValidateCode code = new ValidateCode(320, 25, 4, 8); 
  99.         code.write(response.getOutputStream()); 
  100.   
  101.   
  102.   
  103. //注:導相應的ValidateCode的JAR包喔。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜章县| 昭觉县| 水富县| 专栏| 盈江县| 遵义县| 大埔县| 阳泉市| 舟山市| 梨树县| 隆子县| 沈阳市| 涟源市| 怀来县| 汝城县| 上犹县| 清新县| 章丘市| 峨眉山市| 西乌珠穆沁旗| 原平市| 莎车县| 赤水市| 遂川县| 尚义县| 宿州市| 富蕴县| 库伦旗| 盐源县| 鄯善县| 河源市| 巫溪县| 甘德县| 成武县| 淳化县| 眉山市| 会昌县| 泉州市| 大名县| 独山县| 襄垣县|