zoukankan      html  css  js  c++  java
  • Response验证码

    java中BufferedImage

      @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //如何让浏览器3秒自动刷新一次;
            resp.setHeader("refresh","3");
            //在内存中创建一个图片
            BufferedImage image = new BufferedImage(80,20,BufferedImage.TYPE_INT_RGB);
            //得到图片
            Graphics2D g = (Graphics2D) image.getGraphics();////设置图片的背景颜色
            g.setColor(Color.white);
            g.fillRect(0,0,80,20);
            //给图片写数据
            g.setColor(Color.BLUE);
            g.setFont(new Font(null,Font.BOLD,20));// ?,字体,大小
            g.drawString(makeNum(),0,20);//画一个字符串
            //告诉浏览器,这个请求用图片的方式打开
            resp.setContentType("image/jpg");//设置响应他的类型
            //网站存在缓存,不让浏览器缓存
            resp.setDateHeader("expires",-1);//把expires设置成-1网站就不会缓存了
            resp.setHeader("Cache-Control","no-cache");//Cache-Control缓存控制  不缓存
            resp.setHeader("Pragme","no-cache");
            //把图片写给浏览器
            ImageIO.write(image,"jpg",resp.getOutputStream());
    
        }
        //生成随机数
        private  String makeNum(){
            Random random = new Random();//Random创建随机类
            String num = random.nextInt(999999)+"";
            StringBuffer sb = new StringBuffer();//Stringbuffer是动态字符串数组
            for (int i = 0; i < 4-num.length() ; i++) {
                sb.append("0");//append()是往动态字符串数组添加
            }
            num = sb.toString() + num;
            return num;
        }

    去webapp下做一个映射

    即可运行

     

  • 相关阅读:
    HCIA-IoT 华为认证物联网工程师
    [书目20210522]投资最重要的事
    [书目20210414]海龟交易法则
    [书目20210224]陆蓉 行为金融学讲义
    [书目20210207]肖星的财务思维课
    [转]昂克英文君 一张图告诉你英语该怎么学
    Cloud Native
    Aerospike-介绍
    Groovy使用场景
    javaStream与响应式流
  • 原文地址:https://www.cnblogs.com/nuliyao123/p/14416859.html
Copyright © 2011-2022 走看看