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下做一个映射

    即可运行

     

  • 相关阅读:
    【十五分钟Talkshow】fmplan(十五分钟计划)的初步想法
    #ifdef,#ifndef,#define,#endif解析
    mass Framework menu插件
    软件随想
    gwt+smartgwt framework网站开发
    .NET异步
    CentOS6
    【十五分钟Talkshow】谈谈HTML 5及其对Web开发人员的挑战和机遇
    MongoDB源码概述——日志
    TWaver在FTTX设备网管系统中的应用
  • 原文地址:https://www.cnblogs.com/nuliyao123/p/14416859.html
Copyright © 2011-2022 走看看