zoukankan      html  css  js  c++  java
  • 验证码设计

    package cn.it.web.controller;


    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.util.Random;


    import javax.imageio.ImageIO;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;


    public class ImageServlet extends HttpServlet {
     int width = 80;
     int height = 20;
     char[] buf = "0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ".toCharArray();


     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
       throws ServletException, IOException {
      BufferedImage image = new BufferedImage(width, height,
        BufferedImage.TYPE_INT_RGB);
      Graphics g = image.getGraphics();
      // 填充背景
      g.setColor(Color.WHITE);
      g.fillRect(0, 0, width, height);
      // 画框
      g.setColor(Color.BLACK);
      g.drawRect(0, 0, width - 1, height - 1);
      // 写字符
      g.setColor(Color.BLUE);
      g.setFont(new Font("粗体", Font.BOLD, 15));
      Random r = new Random();
      StringBuilder sb = new StringBuilder();
      for (int i = 0; i < 4; i++) {
       int pos = r.nextInt(buf.length);
       char c = buf[pos];
       sb.append(c);
       g.drawString(String.valueOf(c), (i * 2 + 1) * (width / 9), 15);
      }
      String code = sb.toString();
      // 将验证码存入session
      req.getSession().setAttribute("code", code);
      ImageIO.write(image, "jpeg", resp.getOutputStream());
     }


     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
       throws ServletException, IOException {
      doGet(req, resp);
     }
    }

  • 相关阅读:
    跑步前后吃什么?
    英雄杀八人场心得
    如何判断JavaScript数据具体类型
    js实现时间日期的格式化
    各个公司前端笔试题回顾
    原型模式Prototype,constructor,__proto__详解
    二级菜单不同方法的实现
    秋招笔试碰到的疑难题目1
    php和mysql学习问题笔记
    es6学习笔记12--Class
  • 原文地址:https://www.cnblogs.com/qq809306794/p/3176600.html
Copyright © 2011-2022 走看看