亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Java 生成隨機驗證碼圖片的示例

瀏覽:2日期:2022-08-22 10:44:52

1.情景展示

Java 生成隨機驗證碼圖片的示例

登錄時,生成隨機驗證碼圖片,如何實現?

2.原因分析

后臺生成驗證碼并生成圖片返回至前臺

3.解決方案

導包

import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletOutputStream;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang.RandomStringUtils;import base.web.tools.WebUtils;

獲取驗證碼請求處理

/** * 獲取驗證碼 * @explain * @return 隨機數圖片 */public String getImage() { try {int width = 55;int height = 25;// 取得一個4位隨機數字字符串String s = RandomStringUtils.randomNumeric(4);HttpServletResponse response = WebUtils.getResponse();// 存入cookie,用于與用戶的輸入進行比較Cookie cookie = new Cookie('validateCode', s);response.addCookie(cookie);response.setContentType('images/jpeg');response.setHeader('Cache-Control', 'no-cache'); ServletOutputStream out = response.getOutputStream();BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics();// 設定背景色g.setColor(getRandColor(200, 250));g.fillRect(0, 0, width, height); // 設置字體Font mFont = new Font('宋體', Font.BOLD, 18);g.setFont(mFont); // 畫邊框// g.setColor(Color.BLACK);// g.drawRect(0, 0, width - 1, height - 1); // 生成隨機類Random random = new Random();// 將認證碼顯示到圖象中g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));// 將驗證碼畫進圖片g.drawString(s, 5, 20);// 圖象生效g.dispose();// 輸出圖象到頁面ImageIO.write((BufferedImage) image, 'JPEG', out);out.flush();out.close(); } catch (Exception e) {e.printStackTrace(); } return null;} /** * 給定范圍獲得隨機顏色 * @explain * @param fc * @param bc * @return */private Color getRandColor(int fc, int bc) { Random random = new Random(); fc = (fc > 255) ? 255 : fc; bc = (bc > 255) ? 255 : bc; // 獲取3次 int r = fc + random.nextInt(bc - fc); int g = fc + random.nextInt(bc - fc); int b = fc + random.nextInt(bc - fc); return new Color(r, g, b);}

html片段

<img src='http://www.aoyou183.cn/bcjs/<c:url value='/getImage.do'/>' onclick=’sjs()’ />

js片段

function sjs () { // 獲取圖片請求后面加一個隨機參數,是為了避免同一個請求瀏覽器拒絕向服務器發(fā)送請求的問題(緩存) $('#randomImage')[0].src = baseUrl + '/getImage.do?s=' + Math.random();};

寫在最后

哪位大佬如若發(fā)現文章存在紕漏之處或需要補充更多內容,歡迎留言!??!

本文作者:Marydon

原文鏈接:https://www.cnblogs.com/Marydon20170307/p/12807842.html

以上就是Java 生成隨機驗證碼圖片的示例的詳細內容,更多關于Java 生成驗證碼的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 欧美一级毛片大片免费播放 | 国产一区二区三区四区偷看 | 99热在线观看精品 | 国产亚洲欧美一区 | 色135综合网 | 日韩丝袜在线观看 | 性欧美激情在线观看 | 六月丁香深爱六月综合激情 | 国产精品久久二区三区色裕 | 国产视频黄色 | 亚洲国产视频网 | 久久中文网 | 亚洲日日| 手机在线1024 | 麻豆视频一区二区 | 久久婷婷六月 | 日韩r级在线观看 | 亚洲精品大片 | 国产或人精品日本亚洲77美色 | 免费观看黄色毛片 | 日韩国产第一页 | 久久国产视频在线观看 | 一级黄色小视频 | 6080午夜一级毛片免费看 | 国产成人精品亚洲77美色 | 国产精品久久久久免费a∨ 国产精品久久久久这里只有精品 | 日本高清www午色夜黄 | 青青草国产免费国产 | 久久久国产精品免费 | 日韩 国产 欧美 精品 在线 | 黄色小视频在线免费观看 | 伊人久久在线视频 | 在线看免费涩涩视频网 | 黄色毛片视频网站 | 99视频精品全部免费免费观 | 黑人与欧洲性大战 | 欧美一级毛片大片免费播放 | 草莓榴莲向日葵十八岁全微糖 | 国产亚洲精品久久久久久午夜 | a级影院| 亚洲成a人片在线观看播放 亚洲成a人片在线播放观看国产 |