美文网首页
Java随机生成图片与HTML表单中的验证码实现

Java随机生成图片与HTML表单中的验证码实现

作者: codingXiaxw | 来源:发表于2018-05-14 16:07 被阅读173次

Java随机生成图片

用Java语言生成一个带有字符串文本的图片总结来说只需要如下四步:

  • 1.创建图片缓冲区
  • 2.设置图片缓冲区的宽高及保存图片的类型
  • 3.得到这个图片的绘制环境(拿到画笔)
  • 4.将图片保存起来

代码如下:

//第一、二步,传入参数为缓冲区宽、高、保存图片类型
BufferedImage image=new BufferedImage(width1,height1,BufferedImage.TYPE_INT_RGB);

//第三步,得到绘制环境(需要用到Graphics类)
Graphics paint=image.getGraphics();
paint.setColor(Color.WHITE);//设置画笔颜色为白色
paint.fillRect(start,end,width2,height2);//绘制矩形并填充,将图片缓冲区的(start,end)坐标作为绘制图片的左上角坐标,绘制图片宽为width2、高为height2
paint.setColor(Color.RED);//设置画笔颜色为红色
paint.drawString(str,x,y);//设置需要绘制在图片上的文本,参数为字符串、字符串所在的x坐标和y坐标

//第四步,将图片保存起来(需要用到ImageIO类)
ImageIO.write(image,"JPEG",out);//参数为图片缓冲区、图片类型、输出流  

通过以上代码便可实现用java语言生成一个简易的带有字符串文本的图片,具体实现如下,首先在IDEA中创建VerifyCode.java类:

image
有错误,请将g.drawStrig(sb.toString(),width/4,height-5);改为g.drawString(str,i*width/4,height-5);
image
image

通过代码VerifyCode vc=new VerifyCode();创建VerifyCode对象后就可以调用上述所有方法便可以实现随机验证码的图片了。

在HTML表单中实现验证码

借用上篇Java Web学习笔记之session入门中的保存用户登录信息案例中的代码,新增:

  • VerifyServlet.java:生成图片,保存图片上的文本到session域中,将图片响应给客户端。
  • LoginServlet.java中新增作用:判断用户输入的验证码是否正确,若正确则跳转至下一链接,若错误则保存错误信息到request域中,然后请求转发至login.jsp登录页面。

代码如下图:

<div align="center">VerifyServlet.java</div>

image

<div align="center">LoginServlet.java</div>

image

<div align="center">login.jsp(用到了javascript语法来更换验证码)</div>

image
10月8日更正:途中的js代码有错误,将"ducument"改为"document"。

通过如上代码便可实现HTML中的验证码效果。

2018.3.19更

欢迎加入我的Java交流1群:659957958。群里目前已有1800人,每天都非常活跃,但为了筛选掉那些不怀好意的朋友进来搞破坏,所以目前入群方式已改成了付费方式,你只需要支付9块钱,即可获取到群文件中的所有干货以及群里面各位前辈们的疑惑解答;为了鼓励良好风气的发展,让每个新人提出的问题都得到解决,所以我将得到的入群收费收入都以红包的形式发放到那些主动给新手们解决疑惑的朋友手中。在这里,我们除了谈技术,还谈生活、谈理想;在这里,我们为你的学习方向指明方向,为你以后的求职道路提供指路明灯;在这里,我们把所有好用的干货都与你分享。还在等什么,快加入我们吧!

2018.4.21更:如果群1已满或者无法加入,请加Java学习交流2群:305335626 。群2作为群1的附属群,除了日常的技术交流、资料分享、学习方向指明外,还会在每年互联网的秋春招时节在群内发布大量的互联网内推方式,话不多说,快上车吧!


联系

If you have some questions after you see this article,you can tell your doubts in the comments area or you can find some info by clicking these links.

相关文章

  • Java随机生成图片与HTML表单中的验证码实现

    Java随机生成图片 用Java语言生成一个带有字符串文本的图片总结来说只需要如下四步: 1.创建图片缓冲区 2....

  • Java生成图片验证码

    Java生成图片验证码 手动实现图片验证码生成 调用演示

  • java实现动态验证码

    java动态实现验证码,供大家参考,具体内容如下 【实现效果】 点击图片或者文字可以更换验证码验证码随机生成,由大...

  • 2018-09-04

    Java生成图形验证码与前端输入验证 在刷牛客时,遇到了关于web表单登陆中图形验证码实现的问题,所以试着将其编码...

  • 2018-09-26【自定义图片验证码】

    Android自定义View之随机生成图片验证码,开发中我们会经常需要随机生成图片验证码,但是这个是其次,主要还是...

  • Android 自定义View之随机生成图片验证码

    本篇文章讲的是Android自定义View之随机生成图片验证码,开发中我们会经常需要随机生成图片验证码,但是这个是...

  • Django ORM性能优化 和 图片验证码

    一,ORM性能相关 二, 图片验证码 1, 随机生成五位数的验证码 2, 随机生成位数的图片验证码

  • Java生成随机图片验证码

    Java生成随机图片验证码 验证码主要是数字和字母,并且剔除了不容易识别的那些字符,这里通过Servlet将图片对...

  • 图片验证码的生成

    图片验证码的生成 随机数的生成 中文验证码 将常用字的编码放到一个数组中,然后使用随机数调用即可。

  • 用户验证

    验证码: 随机生成由英文字母与数字组成的字符串,生成一个base64图片,在前端显示图片。比较输入的验证码与实际字...

网友评论

      本文标题:Java随机生成图片与HTML表单中的验证码实现

      本文链接:https://www.haomeiwen.com/subject/haljdftx.html