博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生成随机唯一字加图片-学习笔记
阅读量:7092 次
发布时间:2019-06-28

本文共 2602 字,大约阅读时间需要 8 分钟。

import java.awt.Color;import java.awt.Font;import java.awt.GradientPaint;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.UUID;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 Yanzm01 extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        //设置浏览器不能缓存        response.setHeader("expires","-1");        response.setHeader("cache-control","no-cache");        response.setHeader("pragma","no-cache");        //在内存中构造一副图片        BufferedImage image = new BufferedImage(500,25,BufferedImage.TYPE_INT_RGB);        //取得画笔        Graphics g =  image.getGraphics();        //设置字体大小和颜色        g.setColor(Color.YELLOW);        g.setFont(new Font("黑体",Font.BOLD,22));        //在图片中显示字符串 1azb        g.drawString(getString(),20,20);        ImageIO.write(image, "jpg", response.getOutputStream());    }    /**产生一个随机数*/    private String getString()    {        //唯一ID号        //UUID.randomUUID().toString();        return UUID.randomUUID().toString();    }}

生成随机唯一字加图片-学习笔记

/**产生一个4位随机数第一个数字,第二个字母,第三个数字,第四个字母*/    private String getStringfor()    {        String str = "";        String numberAndLetter="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";        int length = numberAndLetter.length(); //取得全部长度        for(int i=1;i<=4;i++){  //验证码长度            if(i==1 || i==3){//如果1、3、位数字                while(true){                    Random random = new Random();                    int index = random.nextInt(length);                    //substring(int beginIndex, int endIndex)                    //返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。                    String value = numberAndLetter.substring(index,index+1);                      if(value.matches("[0-9]")){ //正则判断                        str += value;                        break;                    }                }            }else if(i==2 || i==4){//如果2、4位大小字母                while(true){                    Random random = new Random();                    int index = random.nextInt(length);                    String value = numberAndLetter.substring(index,index+1);                    if(value.matches("[A-Za-z]")){                        str += value;                        break;                    }                }            }        }        return str;    }

生成随机唯一字加图片-学习笔记

转载于:https://blog.51cto.com/357712148/2104694

你可能感兴趣的文章
吹きすさぶ风の中で
查看>>
对象引用前加const 报错
查看>>
linux 0.11 源码学习(十一)
查看>>
编码风格——linux内核开发的coding style
查看>>
表格隔行变色案例
查看>>
IOS 模拟不同网络环境 - Network Link Conditioner
查看>>
JAVA第一周学习
查看>>
sql语句select group by order by where一般先后顺序 转载
查看>>
for循环是怎么工作的
查看>>
java版spring cloud+spring boot+redis多租户社交电子商务平台(十二)断路器监控(Hystrix Dashboard)...
查看>>
我将用一个月学会android并开发一个应用,这篇主要用来记录自己的学习历程
查看>>
TX2-入门坑点-Ubuntu16.04任务栏消失
查看>>
Java中内存分配方式
查看>>
MySQL生产库全库备份脚本
查看>>
IOS 的 PUSH 封装
查看>>
支付宝支付
查看>>
第三周 动态规划算法(1):1.集合加法
查看>>
iPhone 上怎么给CSS定义 active 样式
查看>>
讨论CGContextDrawImage
查看>>
Servlet基础
查看>>