javaweb servlet生成簡單驗證碼
阿新 • • 發佈:2020-03-12
本文例項為大家分享了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,IOException { // TODO 自動生成的方法存根 Random r = new Random(); //建立圖片緩衝流 BufferedImage buf = new BufferedImage(70,25,BufferedImage.TYPE_INT_RGB); Graphics g = buf.getGraphics();//獲取圖片的畫布物件 g.fillRect(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驗證碼》
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。