javaweb servlet生成简单验证码
本文实例为大家分享了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验证码》
以上是 javaweb servlet生成简单验证码 的全部内容, 来源链接: utcz.com/z/336020.html