当前位置: 首页 > 编程笔记 >

java仿Servlet生成验证码实例详解

程旭尧
2023-03-14
本文向大家介绍java仿Servlet生成验证码实例详解,包括了java仿Servlet生成验证码实例详解的使用技巧和注意事项,需要的朋友参考一下

java仿Servlet生成验证码实例详解

实现原理:使用BufferedImage对象的Graphics来进行绘制,然后输出成一张图片进行保存

实现代码及详解:

public class validateCode{

  private static Random rand = new Random();

  public static void main(String[] args){
    int val1 = rand.nextInt(9);
    int val2 = rand.nextInt(9);
    int val3 = rand.nextInt(9);
    int val4 = rand.nextInt(9);
    String val = val1 + " " + val2 + " " + val3 + " " + val4'
    BufferedImage buf = drawImage(val);
    //将最终的图片保存到D://cheng.png下
    ImageIO.write(buf,"png",new File("D://cheng.png");
  }

  public static BufferedImage drawImage(String code){
    int height = 30;
    int width = 60;
    BufferedImage buf = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
    Graphics2D gs = buf.createGraphics();
    gs.setBackground(Color.black);
    gs.drawRect(0,0,width,height); 

    //绘制随机干扰线
    int total = 100;
    drawRandLine(gs,total);

    //绘制验证码
    Font font = new Font("行楷",Font.BOLD,20);
    gs.setFont(font);
    gs.setColor(getRandColor(155,255));
    gs.drawString(code,5,20);

    return buf;
  }

  public static void drawRandLine(Graphics2D gs,int total){

    for(int i=0; i<total; i++){
      int x1 = rand.nextInt(width);
      int x2 = rand.nextInt(width);
      int y1 = rand.nextInt(height);
      int y2 = rand.nextInt(height);
      //设置随机颜色
      gs.setColor(getRandColor(0,155));
      gs.drawLine(x1,y1,x2,y2);
    }  
  }

  public static Color getRandColor(int from,int to){

    int r = from + rand.nextInt(to-from);
    int g = from + rand.nextInt(to-from);
    int b = from + rand.nextInt(to-from);
    return new Color(r,g,b);  
  }

最终实现效果图

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍JSP + Servlet实现生成登录验证码示例,包括了JSP + Servlet实现生成登录验证码示例的使用技巧和注意事项,需要的朋友参考一下 随机生成四位数验证码,包括汉字,数字,英文大小写。 1.Servlet类 2.web.xml配置 3.jsp页面输出验证码 4.后台Servlet判断验证码是否与输入一致 通过request.getParameter(“checkCode”

  • 本文向大家介绍Python生成验证码实例,包括了Python生成验证码实例的使用技巧和注意事项,需要的朋友参考一下 本文实例展示了Python生成验证码的方法,具有很好的实用价值。分享给大家供大家参考。具体实现方法如下: 前台页面代码如下: 后台程序如下: 程序效果如下:

  • 本文向大家介绍Java生成验证码功能实例代码,包括了Java生成验证码功能实例代码的使用技巧和注意事项,需要的朋友参考一下 页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. 上面这段代码就能生成一个验证码,略微修改就能生成各种各样的形式,main方法可以测试. 下面为大家写一下如何返

  • 本文向大家介绍java生成图片验证码实例代码,包括了java生成图片验证码实例代码的使用技巧和注意事项,需要的朋友参考一下 关于java图片验证码的文章最近更新了不少,帮助大家掌握java验证码的生成技术,下文为大家分享了java生成图片验证码最简单的方法,供大家参考。 现在各行业在定制系统时都会考虑到机器注册,现在最有效的方式就是输入验证。现在的验证方式有很多种: 一、问题验证,其实也是图片验证

  • 本文向大家介绍javaweb servlet生成简单验证码,包括了javaweb servlet生成简单验证码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了javaweb servlet生成验证码的具体代码,供大家参考,具体内容如下 运行截图: 更多关于验证码的文章请点击查看:《java验证码》 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Java生成验证码,包括了Java生成验证码的使用技巧和注意事项,需要的朋友参考一下 Java 生成验证码的流程是: 收到请求->生成验证码所用的随机数->使用随机数写出图片->将随机数记录到Session中->输出验证码 Java 验证验证码的流程是: 收到请求->获取用户传过来的验证码数字->验证是否正确->输出验证结果 下面通过一个例子来展示验证码的生成流程,该例子使用基本Ja