一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java Web制作登錄驗證碼實現代碼解析

Java Web制作登錄驗證碼實現代碼解析

2020-09-26 00:43勤快的懶羊羊 Java教程

這篇文章主要介紹了Java Web制作登錄驗證碼實現代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

圖例如下

Java Web制作登錄驗證碼實現代碼解析

具體操作如下:

新建一個servlet,代碼如下:標記一個WebServlet,

1 @WebServlet(urlPatterns = {"/checkCode"}) //驗證碼Servlet

繪制驗證碼圖片的核心代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
int width = 100;
    int height = 50;
    //創建圖片對象
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
 
    //美化圖片
    Graphics g = image.getGraphics();
    //1:填充背景
    g.setColor(Color.pink);
    g.fillRect(0, 0, width, height);
 
    //畫邊框
    g.setColor(Color.blue);
    g.drawRect(0, 0, width - 1, height - 1);
 
    //生成一個驗證碼字符串
    String strCheckCode = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    Random random = new Random();
    StrCheckCode = "";
    for (int i = 1; i <= 4; i++) {
      int index = random.nextInt(strCheckCode.length());
      char ch = strCheckCode.charAt(index);
      StrCheckCode += ch;//拼接驗證碼
      g.drawString(ch + "", width / 5 * i, height / 2);
    }
 
    //畫干擾線
    for (int i = 0; i < 5; i++) {
      int x1 = random.nextInt(width);
      int x2 = random.nextInt(width);
 
      int y1 = random.nextInt(height);
      int y2 = random.nextInt(height);
      g.drawLine(x1, x2, y1, y2);
    }
 
    //輸出,顯示出來
    ImageIO.write(image, "jpg", resp.getOutputStream());
  }

首先是new一個BufferedImage,然后給定長和寬,之后是指邊框和背景色,接著使用隨機數生成4個字符繪制在圖片上,接著使用DrawLine繪隨機制干擾線,

然后在前端頁面引入圖片,然后給圖片綁定點擊事件,點擊后重新訪問servlet即可:

?
1
2
3
4
5
6
7
8
//點擊驗證碼圖片,重新生成新驗證
    $(function () {
      $("#imgCheckCode").click(function () {
        var img = document.getElementById("imgCheckCode");
        var date = new Date();
        img.src = "http://localhost:8080/blogs_war_exploded/checkCode?op=setCheckCode&a=" + date;
      })
    })
?
1
2
3
4
5
6
7
<div class="inputCheckCode">
      <div class="inputCheckCodeLeftIco">&#10148</div>
      <div class="inputCheckCodeRightInput">
        <input type="text" name="checkCode" id="checkCode" placeholder="驗證碼" autocomplete="off"/>
      </div>
      <img src="http://localhost:8080/blogs_war_exploded/checkCode?op=setCheckCode" id="imgCheckCode">
    </div>

最后輸出即可,效果如下:

Java Web制作登錄驗證碼實現代碼解析 Java Web制作登錄驗證碼實現代碼解析

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

原文鏈接:https://www.cnblogs.com/lwl80/p/13551559.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产在视频线在精品 | 91香蕉国产 | 国产小视频在线免费观看 | 我被黑人彻底征服的全文 | 日韩精品视频在线观看免费 | 99热这里只有精品一区二区三区 | 亚洲欧美另类第一页 | 日韩中文字幕网站 | 日本免费全黄一级裸片视频 | 欧美不卡一区二区三区免 | 国产一级一级一级成人毛片 | 青青热久免费精品视频精品 | 日本特级a禁片在线播放 | 草留色区| 免费一级特黄特色大片 | 国产一区在线免费观看 | 国产精品视频视频久久 | 美女gif趴跪式抽搐动态图 | 51国产| 免费激情小视频 | 精品一区二区三区在线成人 | 久久不射网| 国产一成人精品福利网站 | 被强迫变性翘秘书 | bt天堂在线最新版在线 | 动漫精品午夜在线播放 | 很黄的网站在线观看 | 毛片资源 | 我的漂亮朋友在线观看全集免费 | 免费国产一级 | 男人日女人p | 男人的天堂日本 | 国产精品一区二区国产 | 九九九九九热 | 九九免费高清在线观看视频 | fuqer老师| 扒开腚眼子视频大全 | 久久热r在线视频精品 | 亚洲成A人片在线观看中文L | avav男人天堂 | 精品无码人妻一区二区免费AV |