日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

生成最简单的验证码图片的Java代码

發(fā)布時間:2023/12/3 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 生成最简单的验证码图片的Java代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

后端代碼:

package priv.lwx.servlet.sl.web; /*** description** @author liaowenxiong* @date 2022/3/25 09:56*/import javax.imageio.ImageIO; import javax.servlet.ServletException; 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.io.OutputStream; import java.util.Random;@WebServlet("/PlainCheckCodeServlet") public class PlainCheckCodeServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("image/png");// 在內(nèi)存中構(gòu)造一個圖像對象BufferedImage image = new BufferedImage(45, 20, BufferedImage.TYPE_INT_RGB);// 創(chuàng)建隨機數(shù)對象Random r = new Random();// 獲得畫筆,并且轉(zhuǎn)換成2D畫筆Graphics2D,因為Graphics2D可以去鋸齒,Graphics2D是Graphics的子類Graphics2D g = (Graphics2D)image.getGraphics();// 隨機設置畫筆的顏色// g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));g.setColor(Color.BLUE);// 填充矩形,其實就是填充背景色g.fillRect(0, 0, 60, 20);// 設置畫筆的顏色g.setColor(new Color(0, 0, 0));// 設置字體、樣式、大小Font font = new Font("宋體", 0, 10);g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // 抗鋸齒g.setFont(font);// 隨機獲取0~99998之間的數(shù)值String number = String.valueOf(r.nextInt(99999));// 把獲取到的數(shù)值繪入圖片對象中g.drawString(number, 5, 15);// 獲得字節(jié)輸出流,因為要輸出的是圖像壓縮之后的字節(jié)數(shù)組,所以,不能用 PrintWriter。OutputStream os = response.getOutputStream();// 獲取圖片壓縮編碼器// JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os);// 這是Sun公司私有的API// encoder.encode(image);ImageIO.write(image, "png", os);} }

前端代碼:

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head><title>注冊</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="css/style.css"/><script>window.onload = function () {var image = document.getElementById("checkCode");var rb = document.getElementById("rb");image.onclick = function () {image.src = "plain_check_code?" + Math.random();};rb.onclick = function () {image.src = "plain_check_code?" + Math.random();}};</script> </head> <body> <div id="wrap"><div id="top_content"><div id="header"><div id="rightheader"><p>2009/11/20<br/></p></div><div id="topheader"><h1 id="title"><a href="#">main</a></h1></div><div id="navigation"></div></div><div id="content"><p id="whereami"></p><h1>注冊</h1><form action="register.do" method="post"><table cellpadding="0" cellspacing="0" border="0"class="form_table"><tr><td valign="middle" align="right">用戶名:</td><td valign="middle" align="left"><input type="text" class="inputgri" name="accountName"/><%String msg = (String) request.getAttribute("registerErrorMessage");%><span style="color: red;font-style: italic"><%=(msg == null ? "" : msg)%></span></td></tr><tr><td valign="middle" align="right">真實姓名:</td><td valign="middle" align="left"><input type="text" class="inputgri" name="realName"/></td></tr><tr><td valign="middle" align="right">密碼:</td><td valign="middle" align="left"><input type="password" class="inputgri" name="password"/></td></tr><tr><td valign="middle" align="right">性別:</td><td valign="middle" align="left"><input type="radio" class="inputgri" name="gender" value="m" checked="checked"/><input type="radio" class="inputgri" name="gender" value="f"/></td></tr><tr><td valign="middle" align="right">驗證碼:</td><td valign="middle" align="left"><input type="text" class="inputgri" name="checkCode"/><img style="vertical-align: middle;height: 32px" id="checkCode" src="plain_check_code"/><a href="javascript:" id="rb">換一張</a></td></tr></table><p><input type="submit" class="button" value="注冊 &raquo;"/></p></form></div></div><div id="footer"><div id="footer_bg">ABC@126.com</div></div> </div> </body> </html>

總結(jié)

以上是生活随笔為你收集整理的生成最简单的验证码图片的Java代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。