您好,登錄后才能下訂單哦!
本文實例為大家分享了javaweb servlet生成驗證碼的具體代碼,供大家參考,具體內容如下
package com.serv; import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; 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; @WebServlet(urlPatterns={"/Servyzm"}) public class Servyzm extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO 自動生成的方法存根 doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO 自動生成的方法存根 Random r = new Random(); //創建圖片緩沖流 BufferedImage buf = new BufferedImage(70, 25, BufferedImage.TYPE_INT_RGB); Graphics g = buf.getGraphics();//獲取圖片的畫布對象 g.fillRect(0, 0, 70,25);//從左上角開始(0,0)坐標開始填充白色,寬70,高25 g.setColor(new Color(150,150,150));//指定的是顯示的字體的顏色 String str = r.nextInt(9000)+1000+""; g.drawString(str, 20, 20);// drawString(String str, int x, int y)str指的是輸出的文本;x,y指的是距離左上角的位置 for (int i = 0; i < 8; i++) { int startx = r.nextInt(120); int starty = r.nextInt(30); g.setColor(new Color(startx, 232, starty)); g.drawLine(startx, starty, startx + 10, starty + 10); } ServletOutputStream out = resp.getOutputStream();// 獲取字節流 ImageIO.write(buf, "jpg", out); } // public static int getString(){ // // } }
運行截圖:
更多關于驗證碼的文章請點擊查看:《java驗證碼》
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。