介绍
利用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 (); }> 脚本/* * *验证验证码 */公共空间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=" <字体>验证码错误! ”; } } ); }> 脚本看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。利用java实现验证码生成并完成验证