package servlet;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;

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;
@WebServlet("/servletImage")
public class servletImage extends HttpServlet {

    public servletImage() {
        super();
    }
    public void destroy() {
        super.destroy();
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    	response.setHeader("Expires", "-1");
		response.setHeader("Cache-Control", "no-cache");
		response.setHeader("Pragma", "no-cache");
		
 
		int width = 120;
		int height = 25;
		//创建一副内存图像:BufferedImage
		BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
		//得到属于该图片的画笔:Graphics
		Graphics g = image.getGraphics();
			//画边框
		g.setColor(Color.BLUE);
		g.drawRect(0, 0, width, height);
			//填充背景色
		g.setColor(Color.YELLOW);
		g.fillRect(1, 1, width-2, height-2);
			//画干扰线
		g.setColor(Color.GRAY);
		
		Random r = new Random();
		for(int i=0;i<10;i++)
			g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height));
		
			//随机数字
		g.setColor(Color.RED);
		g.setFont(new Font("宋体", Font.BOLD|Font.ITALIC, 20));
		int x = 23;
		StringBuffer sb = new StringBuffer();
		for(int i=0;i<4;i++){
			String checkcode = r.nextInt(10)+"";
			sb.append(checkcode);
			
			g.drawString(checkcode, x, 20);
			x+=20;
		}
		System.out.println(sb.toString());
		//把验证码放到HttpSession中
		request.getSession().setAttribute("checkcode", sb.toString());
		ImageIO.write(image, "jpg", response.getOutputStream());
    }

  
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    	doGet(request, response);

    }


}
最近下载更多
liulian666  LV2 2024年7月23日
25jsiahs  LV2 2024年6月26日
吞吞吐吐她  LV6 2024年6月5日
asddwh  LV13 2024年1月3日
zhtssss  LV1 2023年7月4日
oracleanacarge  LV6 2023年7月3日
mrcao95  LV2 2023年6月26日
女王不该在山炮村养花  LV8 2023年4月16日
李亮  LV19 2023年3月6日
Numpile  LV3 2023年3月1日
最近浏览更多
g1121345342  LV9 4月29日
zhoubowen  LV3 2024年12月29日
liulian666  LV2 2024年7月23日
25jsiahs  LV2 2024年6月26日
TY0165  LV20 2024年6月22日
微信网友_6808953284677632  LV2 2024年6月21日
1516299986  LV9 2024年6月14日
bw200488  LV6 2024年6月12日
坚持仙蛊 2024年6月12日
暂无贡献等级
吞吞吐吐她  LV6 2024年6月5日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友