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;
        }
    }
    
    
  • 相关阅读:
    CSLA服务端如何使用多线程的解决方案
    一片马蜂窝文章
    VB.NET和C#之间的语法不同比较
    [软件推荐]jQuery,JavaScript,HTML,CSS,PHP,MySQL,正则表达式 CHM帮助手册
    使用jQuery.Validate进行客户端验证
    知道AutoHotKey
    数据库设计问题
    [书籍推荐]为了自己的钱包,为了自己的时间——分享一下自己的淘书经验
    策略模式4
    SQLiteHelperSQLite帮助类
  • 原文地址:https://www.cnblogs.com/tanjiangtao/p/12951244.html
Copyright © 2011-2022 走看看