利用java实现验证码生成并完成验证

  介绍

利用java实现验证码生成并完成验证?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强> java制作验证码并进行验证实例详解

在注册,登录的页面上经常会出现验证码,为了防止频繁的注册或登录行为。下面是我用java制作的一个验证码,供初学者参考,做完验证码之后,我们可以用ajax进行验证码验证。

<强>功能一:验证码制作的代码,点击图片,验证码进行更换

/* *   *显示验证码图片   */公共空间showCheckCode (HttpServletRequest点播,HttpServletResponse resp)抛出ServletException IOException {//调用业务逻辑   字符串checkCode=getCheckCode ();//将验证码字符放入会话域对象中   req.getSession () .setAttribute (“checkCode" checkCode);//图片宽   int宽度=80;//图片高   int高度=30;//在内存中创建一个图片   BufferedImage图像=new BufferedImage(宽度、高度,BufferedImage.TYPE_INT_RGB);//获取一个画笔   图g=image.getGraphics ();//设置画笔颜色,用灰色做背景   g.setColor (Color.GRAY);//向图像中填充灰色   g.fillRect(0, 0,宽度、高度);      随机r=新的随机();//设置3条干扰线   for (int i=0;我& lt;3;我+ +){   g。改变颜色(新颜色(r.nextInt (255), r.nextInt (255), r.nextInt (255)));   g.drawLine (r.nextInt (80), r.nextInt (30), r.nextInt (80), r.nextInt (80);   }//设置验证码字符串的颜色   g。改变颜色(新颜色(r.nextInt (255), r.nextInt (255), r.nextInt (255)));//设置字符的大小   g。setFont(新字体(“黑体“,Font.BOLD, 24));//在图片中写入验证码字符串   g.drawString (checkCode 15 20);//将图片对象以PNG格式输出给所有的客户端   ImageIO.write(形象,“PNG" resp.getOutputStream ());   }/* *   *获取4位验证码中的4位随机字符串   */公共静态字符串getCheckCode () {//验证码中的字符由数字和大小写字母组成   字符串代码=?123456789 qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm";   随机r=新的随机();   StringBuffer某人=new StringBuffer ();   for (int i=0;我& lt;4;我+ +){   sb.append (code.charAt (r.nextInt (code.length ())));   }      返回sb.toString ();   }

<强> jsp页面

& lt;脚本类型=拔谋?javascript"比;   函数changeCodeImage (img) {   img。src=https://www.yisu.com/zixun/" $ {pageContext.request.contextPath}/UserServlet& # 63;方法=showCheckCode&time=" +新日期().getTime ();   }>   <标签="日期" class=" col-sm-2 control-label”>验证码>   /* *   *验证验证码   */公共空间checkCode (HttpServletRequest点播,HttpServletResponse resp)抛出ServletException IOException {//获取从页面中接收到的验证码参数   字符串checkCode=req.getParameter (“checkCode");//从会话域对象中获取验证码   字符串sessionCode=(String) req.getSession () .getAttribute (“checkCode");//判断验证码是否相同   如果(checkCode.equalsIgnoreCase (sessionCode)) {   resp.getWriter () .print(真正的);   其他}{   resp.getWriter () .print(假);   }

<强> jsp页面

& lt;脚本类型=拔谋?javascript"比;   函数changeCodeImage (img) {   img。src=https://www.yisu.com/zixun/" $ {pageContext.request.contextPath}/UserServlet& # 63;方法=showCheckCode&time=" +新日期().getTime ();   }      函数checkCodeMethod(代码){   $ . get (" $ {pageContext.request.contextPath}/UserServlet& # 63;方法=checkCode ",   }{checkCode:代码,   函数(数据){   如果(数据=='真的'){   . getelementbyid (“checkCodeSpan”)。innerHTML=" <字体>验证码正确! ”;   其他}{   . getelementbyid (“checkCodeSpan”)。innerHTML=" <字体>验证码错误! ”;   }   }   );   }>   <标签="日期" class=" col-sm-2 control-label”>验证码>   看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

利用java实现验证码生成并完成验证