zoukankan      html  css  js  c++  java
  • 生成一个简单的javaweb验证码

    只是生成一个验证码图片

    import javax.imageio.ImageIO;
    import javax.servlet.ServletException;
    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;
    
    public class ImageServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //Set the browser refresh time
            resp.setHeader("refresh","4");
            //Set image size
            BufferedImage image = new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB);
            //Make a brush
            Graphics g = image.getGraphics();
            //Set the brush color
            g.setColor(Color.white);
            //The background of the fill image is white
            g.fillRect(0,0,80,20);
            //Set the brush color to pink
            g.setColor(Color.pink);
            g.setFont(new Font("null",Font.BOLD,20));
            //Draw a seven-digit number
            g.drawString(makeNum(),0,20);
            //Set the browser's content type to image
            resp.setContentType("image/jpg");
            //Disable browser caching
            resp.setDateHeader("expires",-1);
            resp.setHeader("Cache-Control","no-cache");
            resp.setHeader("Pragma","no-cache");
            //Displays images to the client
            ImageIO.write(image,"jpg",resp.getOutputStream());
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            doPost(req, resp);
        }
        private String makeNum(){
            Random r = new Random();
            //Pseudorandom generates a seven-digit number
            String num = String.valueOf(r.nextInt(9999999));
            StringBuilder s = new StringBuilder();
            //If there are fewer than seven digits, add a 0 in front of it.
            for (int i = 0; i < 7-num.length(); i++){
                s.append("0");
            }
            num = s.toString()+num;
            return num;
        }
    }
    
    
  • 相关阅读:
    Django(72)Django认证系统库--djoser
    Django(71)图片处理器django-imagekit
    python进阶(21)typing模块--类型提示支持
    Jmeter 参数化-文件和参数同时上传的场景
    Java线程监控之 jvisualvm 和 jstack
    操作系统监控
    Redis安装部署
    Mac下charles安装及配置
    Prometheus 监控平台部署
    Nginx配置(九)
  • 原文地址:https://www.cnblogs.com/tanjiangtao/p/12951244.html
Copyright © 2011-2022 走看看