zoukankan      html  css  js  c++  java
  • JavaWeb10-Servlet实现随机产生图片验证码

    YanZhengMaServlet


    public class YanZhengMaServlet extends HttpServlet {
    // 生成随机数 4位
    public String makeRan(){
    String randnum = new Random().nextInt(9999) + "";
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < 4 - randnum.length(); i++) {
    sb.append("0");
    }
    randnum = sb.toString() + randnum;
    return randnum;
    }
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    // 生成图片
    BufferedImage bufferedImage = new BufferedImage(80, 30, BufferedImage.TYPE_INT_RGB);
    // 生成一个笔
    Graphics2D graphics2D = (Graphics2D)bufferedImage.getGraphics();
    /*
    设置背景颜色
    */

    // 设置画笔颜色
    graphics2D.setColor(Color.white);
    // 填充颜色
    graphics2D.fillRect(0 ,0, 80, 30);
    // 将随机数写入图片
    graphics2D.setColor(Color.BLUE);
    graphics2D.setFont(new Font(null, Font.BOLD, 30));
    graphics2D.drawString(makeRan(), 5, 25);
    // 告诉浏览器文件类型
    resp.setContentType("image/jpeg");
    // 网站存在缓存, 设置为无缓存
    resp.setDateHeader("expires", -1);
    resp.setHeader("cache-Control" , "no-cache");
    // 把图片写出去 写给浏览器
    ImageIO.write(bufferedImage, "jpeg", resp.getOutputStream());
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    doGet(req, resp);
    }
    }
  • 相关阅读:
    水晶报表关于System.Web.Extensions报错的问题
    个人下一步学习计划
    一个老程序员对数据库的一点纠结
    Visual SourceSafe权限配置记录
    SQL SERVER 2008代码折叠小技巧
    用命令行自动备份数据库到其他服务器
    CrystalReports 2008序列号留档
    ····
    C语言中的static
    页面自动刷新的几种方法
  • 原文地址:https://www.cnblogs.com/Patrick20726/p/13583666.html
Copyright © 2011-2022 走看看