package com.xzf.servlet;
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.util.Random;
@WebServlet("/code")
public class checkcode extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int width = 120;
int height = 60;
// 创建图片对象
BufferedImage img = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
//美化图片
Graphics g = img.getGraphics();//拿到画笔对象
g.setColor(Color.yellow);
g.fillRect(0,0,width,height);//填充背景色
g.setColor(Color.magenta);
g.drawRect(0,0,width-1,height-1);//画矩形边框
/**
* 生成随机验证码4位数
*/
String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
for (int i = 1; i <= 4; i++) {
int i1 = random.nextInt(s.length() + 1);
char c = s.charAt(i1);
g.drawString(c+"",width/5*i,height/2);
}
/**
* 在图片中划线
*/
for (int i = 0; i < 5; i++) {
int x1 = random.nextInt(width + 1);
int x2 = random.nextInt(width + 1);
int y1 = random.nextInt(height + 1);
int y2 = random.nextInt(height + 1);
g.drawLine(x1,x2,y1,y2);
}
//将图片展示在页面
ImageIO.write(img,"jpg",resp.getOutputStream());
}
}
Servlet随机生成验证码
最新推荐文章于 2020-03-25 21:05:24 发布