宝哥软件园

基于创建交互式、快速动态网页应用的网页开发技术实现验证码功能

编辑:宝哥软件园 来源:互联网 时间:2021-09-03

本文实例为大家分享了创建交互式、快速动态网页应用的网页开发技术实现验证码功能的具体代码,供大家参考,具体内容如下

首先创建一个验证码:

"%@"页面内容类型=' image/JPEG;charset=utf-8 '语言=' Java '导入=' Java。乌提尔。*,java.awt.*,java.awt.image.*,javax。imageio。* "页面编码=' UTF-8 ' %!-以上导入废水深度处理高次废水处理和awt.image包- %!//获取随机颜色public Color getColor(){ Random Random=new Random();//使用rgb()随机产生颜色int r=随机。nextint(256);int g=随机。nextint(256);int b=随机。nextint(256);返回新颜色(r、g、b);} //获取随机数字产生一个四位数public String getNum(){ String str=' ';Random Random=new Random();for(int I=0;i4;I){ str=random。nextint(10);//0-9 }返回字符串;} % % /* 清除缓存*/response.setHeader('pragma ',' mo-cache ');回应。setheader(' cache-control ',' no-cache ');回应。setdateheader(' expires ',0);//产生矩形框BufferedImage=新的BufferedImage(80,30,BufferedImage .TYPE _ INT _ RGB);//获取画笔工具图形g=图像。getgraphics();//设置矩形框的颜色g.setColor(新颜色(200,200,200));//设置坐标和宽高g.fillRect(0,0,80,30);//随机产生干扰线for(int I=0;I 30I){ Random Random=new Random();int x=随机。nextint(80);int y=随机。nextint(30);int x1=随机。nextint(x 10);int y1=随机。nextint(y ^ 10号);//设置随机颜色g . SetColor(GetColor());//画出来g.drawLine(x,y,x1,y1);} //字的颜色和数字g.setFont(新字体('微软雅黑,字体BOLD,16));设置颜色。黑色);//获取随机数字string CheckNum=GetNum();//给字拼接空格StringBuffer sb=new StringBuffer();for(int I=0;我检查号码。length();某人。追加(CheckNum。charat(I)' ');} //画出数字拖着(某人的)脚步。tostring(),15,20);//存入会议域中session.setAttribute('CHECKNUM ',CHECKnum);//例如1010 //将图像以联合图象专家组的形式通过字节流输出ImageIO.write(image,' jpeg ',响应。getoutputstream());//清除缓存出去。clear();//放入身体中out=页面上下文。PubBody();% 将验证码压缩成图片,在checkcode.jsp中引用,并在该页面中利用创建交互式、快速动态网页应用的网页开发技术向服务器发送数据

“% @”页面语言=“Java”导入=“Java”。乌提尔。*“页面编码=”UTF-8“% %字符串路径=请求。getcontextpath();字符串基本路径=请求。getscheme()' ://'请求。getservername()“:”请求。getserverport()“path ”/;% !DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' HTML头基href=' %=基路径% ' rel='外部无跟随'标题验证码/title meta http-equiv=' pragma ' content=' no-cache ' meta http-equiv=' cache-control ' content=' no-cache ' meta http-equiv=' expires ' content=' 0 ' meta http-equiv=' keywords ' content=' keywords 1,keywords 2,keywords 3 ' meta http-equiv=' description ' content='这是我的页面style type=' text/CSS '表格{ margin 3360 100 px auto}/样式/头体表格边框='0' align='center' tr td验证码/TD tdinput type=' text ' name=' check code ' id=' check codeid ' maxlength=' 4 ' size=' 4 '/TD tdimg alt='加载失败src=' http :图像。JSP '/TD TD TD id=' show '/TD/tr/table/body脚本类型='text/javascript' //去除空格功能微调(str){ //从左侧开始替换空格str=str.replace(/^s*/,'');//从左侧开始替换空格str=str.replace(/s$/,' ');返回字符串;}/脚本脚本类型='text/javascript' //创建创建交互式、快速动态网页应用的网页开发技术对象函数createAJax(){ var AJax=null;请尝试{ Ajax=新的activexObject('微软。xmlhttp’);} catch(e){ try { Ajax=new XMlhttprequest();}catch(e1){ alert('请更换浏览器');} }返回Ajax }/脚本脚本类型=' text/JavaScript '文档。getelementbyid(' checkcodeID ').onkeyup=function(){ var校验码=this。价值;//去除空格checkcode=trim(检查代码);if(checkcode.length==4){ //获取创建交互式、快速动态网页应用的网页开发技术对象var AJax=createAJax();//获取去空格的内容定义变量方法=' POSTvar URL=' $ { page context。请求。上下文路径}/CheckcodeServlet?时间='新日期()。getTime();//准备发送异步请求ajax.open(方法、网址);//设置请求头邮政提交方式才需要Ajax。setrequestheader('内容类型',' application/x-www-form-URL编码');//拼接实体内容var内容='校验码='校验码;//发送请求ajax.send(内容);//监听服务器状态变化Ajax。onreadystatechange=function(){ if(Ajax。readystate==4){ if(Ajax。status==200){//获取服务器内容var tip=ajax.responseText//获取图片路径然后进行放入任务描述中var img=文档。创建元素(' img ');img.src=tipimg。风格。宽度=' 14pximg。风格。高度=' 14pxvar TD=文档。getelementbyid(' show ');td.innerHTML=TD。appendchild(img);} } } } } } }/script/html然后编写服务端,接收输入的信息,判断是否与验证码相互匹配,将对应的图片的路径以输出流的方式输出

公共类CheckcodeServlet扩展了httpersvlet { @ Override protected void doPost(httpersvletrequest req,HttpServletResponse resp)引发ServletException,IOException { req。setcharacter encoding(' utf-8 ');resp。SetContentType(' text/html;charset=utf-8 ');//图片路径字符串提示=' images/msgerror。gif ';字符串校验码=req。GetParameter('校验码');//测试系统。出去。println(校验码);//获取会议域中的数字String checkcodeService=(字符串)req.getSession().getAttribute(' CHECKNUM ');//判断if(检查代码。equals(CheckCodeServiCe)){ tip=' images/msg sent。gif ';} //输出路径PrintWriter pw=resp。getwriter();pw。写(提示);pw。flush();pw。close();} } 当输入第四个数字的时候就会出现提示运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+