使用ajax怎么实现一个验证码功能

  介绍

本篇文章给大家分享的是有关使用ajax怎么实现一个验证码功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

首先创建一个验证码:

& lt; % @  page  contentType=巴枷?jpeg;, charset=utf-8",   语言才能=癹ava",进口=癹ava.util。*, java.awt。*, java.awt.image。*, javax.imageio。*“,   pageEncoding才能=癠TF-8" %祝辞,   & lt; !——,以上导入awt和awt.image包,——祝辞,   & lt; % !,//才能获取随机颜色,   public 才能;Color 色鬼(){,   ,,Random  Random =, new 随机();,   ,,//使用rgb()随机产生颜色,   ,才能int  r =, random.nextInt (256),,   ,才能int  g =, random.nextInt (256),,   ,才能int  b =, random.nextInt (256),,   ,,,,   ,,return  new 颜色(r, g, b),,   ,,},   ,,//才能获取随机数字,产生一个4位的数,   public 才能;String  getNum () {,   ,,String  str =,““,   ,,Random  Random =, new 随机();,   ,,(int 小姐:=,0;小姐:& lt;, 4,我+ +){,   ,,,str  +=, random.nextInt (10),,//0-9    ,,},   ,,return  str,   ,,},   %的在,   ,   % & lt;/*,才能清除缓存,*/,   response.setHeader才能(“pragma",,“mo-cache"),,   response.setHeader才能(“cache-control",,“no-cache"),,   response.setDateHeader才能(“expires",, 0),,//才能产生矩形框,   BufferedImage 才能;image =, new  BufferedImage (80、30 BufferedImage.TYPE_INT_RGB);,//才能获取画笔工具,   Graphics 才能;g =, image.getGraphics (),,//才能设置矩形框的颜色,   g.setColor才能(new 颜色(200200200)),,//才能设置坐标和宽高,   g.fillRect才能(0,0,80,30),,   ,,,,//才能随机产生干扰线,   ,,(int 小姐:=,0;小姐:& lt;, 30,我+ +){,   ,,Random  Random =, new 随机();,   ,才能int  x =, random.nextInt (80),,   ,,int  y =, random.nextInt (30),,   ,,int  x1 =, random.nextInt(时间+ x  10),,   ,,int  y1 =, random.nextInt(时间+ y  10),,   ,,//设置随机颜色,   ,,g.setColor(色鬼()),,   ,,//画出来,   ,,g.drawLine (x1, x,, y,, y1),,   ,,},   ,,//字才能的颜色和数字,   g.setFont才能(new 字体(“Microsoft  YaHei" Font.BOLD 16)),,   g.setColor才能(Color.BLACK);,//才能获取随机数字,   String 才能;checkNum =, getNum (),,   ,,//才能给字拼接空格,   StringBuffer 才能;sb =, new  StringBuffer (),,   ,,(int 小姐:=,0;小姐:& lt;, checkNum.length();我+ +){,   ,,sb.append (checkNum.charAt (i), +,,,,),,   ,,},//才能画出数字,   g.drawString才能(sb.toString(),, 15日,20),,//存才能入会话域中,   session.setAttribute才能(“CHECKNUM",, checkNum);,//例如1010,//才能将图像以jpeg的形式通过字节流输出,   ImageIO.write才能(图片,,“jpeg",, response.getOutputStream ()),,//清才能除缓存,   out.clear才能(),,//放才能入身体中,   out 才能=,pageContext.pushBody (),,   %在

将验证码压缩成图片,在checkcode。jsp中引用,并在该页面中利用ajax向服务器发送数据

& lt; % @  page 语言=癹ava",进口=癹ava.util。*“, pageEncoding=癠TF-8" %祝辞,   % & lt;   String  path =, request.getContextPath (),,   String  basePath =, request.getScheme () +“://? request.getServerName () +“:“+ request.getServerPort() +路径“/?,   %的在,   ,   & lt; ! DOCTYPE  HTML  PUBLIC “-//W3C//DTD  HTML  4.01,过渡//EN"祝辞,   & lt; html>,   & lt; head>大敌;   ,& lt; base  href=https://www.yisu.com/zixun/薄皉el="外部nofollow”>      <标题>验证码               <风格type=" text/css ">   表{   保证金:100 px的汽车;   }> 头      <身体>   <表边界=" 0 "="中心">对齐      null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用ajax怎么实现一个验证码功能