zoukankan      html  css  js  c++  java
  • 小例子:servlet验证码图片的实现

    小例子:servlet验证码图片的实现


    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 graphics = (Graphics2D) image.getGraphics();//笔
    //设置背景图片颜色
    graphics.setColor(Color.white);
    graphics.fillRect(0,0,80,20);
    //给图片写数据
    graphics.setColor(Color.blue);
    graphics.setFont(new Font(null,Font.BOLD,20));
    graphics.drawString(makeNum(),2,20);

    //告诉浏览器,这个请求用图片的方式打开
    resp.setContentType("image/jpeg");
    //网站存在缓存,不让浏览器缓存
    resp.setDateHeader("expires",-1);
    resp.setHeader("Cache-Control","no-cache");
    resp.setHeader("Pragma","no-cache");

    //把图片写给浏览器
    ImageIO.write(image,"jpg",resp.getOutputStream());




    }
    //生成随机数
    private String makeNum(){
    Random random = new Random();
    String s = random.nextInt(9999999)+"";
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i <7-s.length() ; i++) {
    sb.append("0");
    }
    String s1 = sb.toString() + s;
    return s1;
    }
  • 相关阅读:
    在类中声明常量
    PHPStudy配置虚拟主机配置域名步骤
    PHPStudy配置虚拟主机步骤
    2019年7月22日星期一,简单的总结一下
    简单的面向对象
    session和cookie
    Jquery 事件绑定 bind 与on 的区别
    php try catch用法
    include,include_once,require,require_once的区别
    require与 include区别
  • 原文地址:https://www.cnblogs.com/bxbo/p/13453258.html
Copyright © 2011-2022 走看看