日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java實現動態驗證碼

瀏覽:109日期:2022-08-15 16:18:33

java動態實現驗證碼,供大家參考,具體內容如下

【實現效果】

點擊圖片或者文字可以更換驗證碼 驗證碼隨機生成,由大小寫字母和數字組成 驗證碼字體顏色隨機生成,字母角度有偏轉 干擾線隨機分布

java實現動態驗證碼

java實現動態驗證碼

驗證碼的功能: 防止惡意的表單注冊

VerificationCode.java 驗證碼功能實現

package com.iqqcode.servlet.checkcode;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.awt.*;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;/** * @Author: Mr.Q * @Date: 2020-02-12 10:12 * @Description:驗證碼生成 */@WebServlet('/VerificationCode')public class VerificationCode extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int width = 120; int height = 50; //1.創建對象,驗證碼圖片對象 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //2.美化圖片 //2.1填充背景色 //Graphics g = image.getGraphics(); Graphics2D g = (Graphics2D) image.getGraphics();//畫筆對象,2D來旋轉驗證碼字母 g.setColor(Color.WHITE);//設置畫筆顏色 g.fillRect(0, 0, width, height); //2.2畫邊框 g.setColor(Color.BLUE); g.drawRect(0, 0, width - 1, height - 1); //2.3生成驗證碼 String str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; //生成隨機角標 Random random = new Random(); //改變字體 g.setFont(new Font('宋體',Font.BOLD,35)); //將驗證碼偏轉并寫到畫布上 for (int i = 1; i <= 4; i++) { int x = width/5 * i; int y = height/2; String msg = ''; int index = random.nextInt(str.length()); //獲取字符 char ch = str.charAt(index);//隨機字符 //獲取正負30的角度 int angle = random.nextInt(60) - 30; double radian = angle * Math.PI/180; //設置驗證碼中的字體顏色 //g.setColor(Color.BLUE); int red = 0; int green = 0; int blue = 0; int codeY = 32; // 得到隨機產生的驗證碼數字 // 產生隨機的顏色分量來構造顏色值,使輸出的每位數字的顏色值都不同 red = random.nextInt(255); green = random.nextInt(255); blue = random.nextInt(255); // 用隨機產生的顏色將驗證碼繪制到圖像中 g.setColor(new Color(red, green, blue)); //寫驗證碼 g.rotate(radian, x, y); //把字母畫在畫布上 //g.drawString(ch+'', x, y); g.drawString(String.valueOf(ch)+'', x, codeY); //把每次旋轉的再旋轉回來 g.rotate(-radian, x, y); //每次向右移動20像素 x += 15; msg += ch; } //2.4隨機產生20條干擾線,使圖象中的認證碼不易被其它程序探測到 g.setColor(Color.MAGENTA); //隨機生成坐標點 for (int i = 0; i < 20; 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); } //3.將圖片輸出到頁面展示 //將圖片對象寫入流中 ImageIO.write(image, 'jpg', response.getOutputStream()); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); }}insex.jsp 前臺頁面展示

分析:

點擊超鏈接或者圖片,需要換一張 給超鏈接和圖片綁定單擊事件 重新設置圖片的src屬性值

生成的圖片先要緩存在本地,每次請求是不會修改,所以驗證碼圖片不會切換;將圖片路徑后添加時間戳,通過錯誤的路徑來欺騙服務器重新請求

<%@ page contentType='text/html;charset=UTF-8' language='java' %><html><head> <title>驗證碼</title> <script> window.onload = function () { //1.獲取圖片對象 var img = document.getElementById('checkCode'); //2.綁定圖片單擊事件 img.onclick = function () { //加時間戳 var date = new Date().getTime(); //加時間戳,防止瀏覽器利用緩存 img.src = 'http://www.b3g6.com/ServletResponse/VerificationCode?' + date; } //綁定鏈接點擊事件 var ahref = document.getElementById('change'); ahref.onclick = function () { var date = new Date().getTime(); img.src = 'http://www.b3g6.com/ServletResponse/VerificationCode?' + date; } } </script></head><body><h2>驗證碼動態實現</h2><img src='http://www.b3g6.com/ServletResponse/VerificationCode'><a href='http://www.b3g6.com/bcjs/5074.html'>看不清?換一張</a></body></html>

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

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美精品一线| 麻豆精品在线播放| 中文字幕在线免费观看视频| 亚洲v天堂v手机在线| 先锋亚洲精品| 亚洲二区视频| 久久精品免费一区二区三区| av资源亚洲| 欧美日韩一二三四| 99综合视频| 日韩精品乱码av一区二区| 日本91福利区| 捆绑调教美女网站视频一区| 国产精品v亚洲精品v日韩精品| 91亚洲精品在看在线观看高清| 日韩国产在线一| 91精品国产自产精品男人的天堂 | 久久婷婷亚洲| аⅴ资源天堂资源库在线| 精品久久久网| 天堂√中文最新版在线| 91久久在线| 国产精品一区二区三区av| 国产激情在线播放| 亚洲激情二区| 欧美激情日韩| 樱桃成人精品视频在线播放| 婷婷精品在线| 国产伦久视频在线观看| 蜜臀av一区二区在线免费观看 | 香蕉久久国产| 日本精品国产| 欧美黄色网页| 青草国产精品| 国产精品老牛| 亚洲精品影视| 久久精品国产www456c0m| 日日夜夜免费精品视频| 色88888久久久久久影院| 亚洲毛片视频| 亚洲一级黄色| 精品国产鲁一鲁****| 一区免费在线| 97精品一区二区| 国产欧美成人| 麻豆精品视频在线| 日韩成人av影视| 日韩激情网站| 青青伊人久久| 国产成人在线中文字幕| 国产探花在线精品| 国产精品中文字幕亚洲欧美| 你懂的网址国产 欧美| 欧美精品国产白浆久久久久| 午夜久久av| 国产精品欧美一区二区三区不卡| 日韩欧美久久| 欧美亚洲三级| 免费在线亚洲| 欧美成a人片免费观看久久五月天| 国产欧美日韩综合一区在线播放| 欧美中文高清| 精品一区视频| 欧美日韩尤物久久| 婷婷成人综合| 91精品1区| 色一区二区三区四区| www成人在线视频| 精品国产亚洲一区二区在线观看| 国产精品大片免费观看| 欧美激情综合| 亚洲成人一区在线观看| 国产一区欧美| 综合激情五月婷婷| 亚洲另类av| 国产日韩欧美在线播放不卡| 精品视频在线一区二区在线| 色偷偷色偷偷色偷偷在线视频| 99久久婷婷这里只有精品| 1000部精品久久久久久久久| 首页亚洲欧美制服丝腿| 国产欧美日韩精品一区二区三区| 麻豆成人91精品二区三区| 久久久久国产一区二区| 在线国产精品一区| 91偷拍一区二区三区精品| 国产亚洲在线| 精品视频高潮| 亚洲精品大全| 亚洲黄色中文字幕| 日韩中文av| 国精品一区二区三区| 国产精品男女| 蜜桃av.网站在线观看| 青草国产精品| 亚洲理论在线| 蜜桃久久av| 中文在线一区| 国产传媒在线观看| 国产精品极品| 日韩精品福利一区二区三区| 色88888久久久久久影院| 97精品国产99久久久久久免费| 欧美69视频| 久久99精品久久久久久园产越南 | 999精品色在线播放| 国产精品日韩精品在线播放| 亚洲资源网站| 红桃视频国产精品| 最近高清中文在线字幕在线观看1| 亚洲精品护士| 欧美日韩视频一区二区三区| 日韩不卡在线| 999国产精品999久久久久久| av高清不卡| a日韩av网址| 99久久精品费精品国产| 欧美性感美女一区二区| 欧美激情另类| 欧美亚洲一级| 午夜精品福利影院| 亚洲天堂免费| 中文一区一区三区免费在线观 | 精品免费视频| 亚洲精品乱码| 蜜臀av性久久久久蜜臀aⅴ四虎| 精精国产xxxx视频在线播放| 精品视频自拍| 国产资源在线观看入口av| 牛牛精品成人免费视频| 高清一区二区三区| 国产精品久久久久蜜臀| 欧美丰满日韩| 裤袜国产欧美精品一区| 精品99在线| 女生影院久久| 亚洲黑丝一区二区| 亚洲天堂日韩在线| 日韩国产在线观看| 国产高清亚洲| 高清一区二区三区av| 九九精品调教| 久久亚洲国产精品一区二区| 亚洲三级网站| 欧美国产三级| 日韩专区精品| 丝袜美腿高跟呻吟高潮一区| 欧美一级一区| 在线中文字幕播放| 模特精品在线| 久久毛片亚洲| 六月婷婷一区| 国产精品99久久免费| 国产亚洲一区二区手机在线观看| 亚洲成人国产| 日韩中文字幕视频网| 国产成年精品| 男人的天堂久久精品| 久久成人高清| 黄色成人在线网址| 国产精品www.| 日韩专区在线视频| 成人一二三区| 视频二区不卡| 亚洲在线观看| 日本色综合中文字幕| 欧美一级二级三级视频| 国产精品资源| 久久福利在线| 国产欧美一区二区三区精品酒店| 国产精品久久久久久久久久10秀| 精品一区二区三区中文字幕在线| 婷婷中文字幕一区| 欧美日韩亚洲一区三区| 国产精品啊v在线| 日韩中文字幕不卡| 欧美三区四区| 美女精品一区二区| 日韩成人精品一区二区三区| 欧美 日韩 国产精品免费观看| 精品久久福利| 日韩av影院| 亚洲麻豆一区| 日韩精品一区第一页| 麻豆成全视频免费观看在线看| 国产图片一区| 日韩一区二区三区精品| 免费人成网站在线观看欧美高清| 伊人久久大香线蕉av不卡| 国产在线观看www| 国产成人精品三级高清久久91| 国产精品一区二区三区av麻| 欧美日韩18| 欧美亚洲三级| 国产精品午夜av| 国产欧美一区二区精品久久久| 国产乱码精品一区二区三区亚洲人 | 狠狠久久伊人中文字幕| 久久精品亚洲人成影院| 老司机精品视频网|