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;
        }
    }
    
    
  • 相关阅读:
    vps安装wordpress遇到的问题(lnmp)
    RING0,RING1,RING2,RING3
    CentOS 下配置CUPS
    怎样解决VS2013模块对于SAFESEH 映像是不安全的
    【转】VC6.0打开或者添加工程文件崩溃的解决方法
    QWidget QMainWindow QDialog 三个基类的区别
    在C语言中,double、long、unsigned、int、char类型数据所占字节数
    拷贝构造函数
    “浅拷贝”与“深拷贝”
    常用软件列表
  • 原文地址:https://www.cnblogs.com/tanjiangtao/p/12951244.html
Copyright © 2011-2022 走看看