jsp页面验证码.docx

上传人:b****2 文档编号:17119614 上传时间:2023-07-22 格式:DOCX 页数:9 大小:17.81KB
下载 相关 举报
jsp页面验证码.docx_第1页
第1页 / 共9页
jsp页面验证码.docx_第2页
第2页 / 共9页
jsp页面验证码.docx_第3页
第3页 / 共9页
jsp页面验证码.docx_第4页
第4页 / 共9页
jsp页面验证码.docx_第5页
第5页 / 共9页
jsp页面验证码.docx_第6页
第6页 / 共9页
jsp页面验证码.docx_第7页
第7页 / 共9页
jsp页面验证码.docx_第8页
第8页 / 共9页
jsp页面验证码.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

jsp页面验证码.docx

《jsp页面验证码.docx》由会员分享,可在线阅读,更多相关《jsp页面验证码.docx(9页珍藏版)》请在冰点文库上搜索。

jsp页面验证码.docx

jsp页面验证码

AJAX+jsp无刷新验证码实例(完整代码)

1.login.jsp

<%@page  

language="java"

contentType="text/html;charset=gb2312"

import="java.util.*"

import="java.sql.*"

import="java.text.*"

import="java.io.*"

%>

<%@includefile="../conn.jsp"%>

<%request.setCharacterEncoding("gb2312");%>

<%

Stringusername=request.getParameter("name");

Stringpass=request.getParameter("pws");

Stringnum=request.getParameter("num");

Stringrandom=(String)session.getAttribute("random");

if(num!

=null&&random!

=null)

{

if(num.equals(random))

{  

    Statementstmt=conn.createStatement();

    ResultSetrs=stmt.executeQuery("select*fromadminwhereadmin='"+username+"'andpass='"+pass+"'");

    if(rs.next()){

         Stringid=rs.getString("id");

         session.setAttribute("id",id);

   response.sendRedirect("admin.jsp");

                 }

      rs.close();

      stmt.close();

      conn.close();  

   }

}

%>

DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:

//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//www.w3.org/1999/xhtml">

两岸咖啡

vartimes=0;

functionsubform(){

vargtext=this.req.responseText;

   varinfo=document.getElementById("info");

   if(gtext.indexOf("validate_successful")!

=-1){

    //info.innerHTML="验证码通过";

    document.forms["form"].submit();

    //当得到的值表示合法,则验证码通过。

   }else{

       times++;

     if(times>=3){//如果连接3次输入错误,则重载图片,可以防止作弊和用户看不清图片;

      info.innerHTML="验证码不正确";

        document.forms["form"].num.value="";

        show(document.getElementById('random'));

        times=0;

      }else{

      info.innerHTML="验证码不正确";

    }

   document.forms["form"].num.select();

   }

}

functionvalidata(obj){

varenter=true;

varinfo=document.getElementById("info");

varmsg="";

if(obj.name.value.match(/^\s*$/g)){//如果未输入名字,提示

   msg+="请输入管理员
";enter=false

}

if(obj.pws.value.match(/^\s*$/g)){//如果未输入验证码,提示

   msg+="请输入密码
";enter=false  

}

if(obj.num.value.match(/^\s*$/g)){//如果未输入验证码,提示

   msg+="验证码不正确
";enter=false  

}

if(enter==false){

     info.innerHTML=msg;

     returnfalse;

}

varurl="../num.jsp?

num="+obj.num.value;

varnewxmlhttp=newnet.ContentLoader(url,subform,"","get",null,null);

returnfalse;

}

functionshow(o){

//重载验证码

vartimenow=newDate().getTime();

o.src="../random.jsp?

d="+timenow;

/*

//超时执行;

setTimeout(function(){

   o.src="random.jsp?

d="+timenow;

}

   ,20);

   */

}

1px   solid#F3F3F3;">

   

     

         

           

             

     

                 

                 

#415373">Manage

               

             

           

           

             管理员:

             

   

           

           

             密码:

             

           

    

    

             验证码:

       

show(document.getElementById('random'))">看不清?

  

           

             

               

        

red;padding:

10px;font-size:

12px;">

             

           

         

     

       

   

2.random.jsp

<%@pageautoFlush="false"   import="java.util.*,java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%>

<%

request.setCharacterEncoding("gb2312");

response.setCharacterEncoding("gb2312");

response.setContentType("text/html;charset=gb2312");

%>

<%!

ColorgetRandColor(intfc,intbc){//给定范围获得随机颜色

         Randomrandom=newRandom();

         if(fc>255)fc=255;

         if(bc>255)bc=255;

         intr=fc+random.nextInt(bc-fc);

         intg=fc+random.nextInt(bc-fc);

         intb=fc+random.nextInt(bc-fc);

         returnnewColor(r,g,b);

         }

%>

<%

Stringchose="23456789abcdefghijkmnpqrstuvwxyz";

chardisplay[]={'0','','0','','0','','0'},ran[]={'0','0','0','0'},temp;

Randomrand=newRandom();

for(inti=0;i<4;i++)

{

temp=chose.charAt(rand.nextInt(chose.length()));

display[i*2]=temp;

ran[i]=temp;

}

Stringrandom=String.valueOf(display);

session.setAttribute("random",String.valueOf(ran));

%>

<%

         out.clear();

         response.setContentType("image/jpeg");

         response.addHeader("pragma","NO-cache");

         response.addHeader("Cache-Control","no-cache");

         response.addDateHeader("Expries",0);

         intwidth=80,height=30;

         BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

         Graphicsg=image.getGraphics();

         //以下填充背景颜色

         g.setColor(getRandColor(240,242));

         g.fillRect(0,0,width,height);

        //设置字体颜色

        //g.setColor(getRandColor(220,250));

         g.setFont(newFont("TimesNewRoman",Font.PLAIN,21));

   //随机产生10条干扰线,使图象中的认证码不易被其它程序探测到

         g.setColor(getRandColor(100,160));

   for(inti=0;i<10;i++)

         {

         intx=rand.nextInt(width);

         inty=rand.nextInt(height);

         intxl=rand.nextInt(12);

         intyl=rand.nextInt(12);

         g.drawLine(x,y,x+xl,y+yl);

         }

         g.drawString(random,5,25);

         g.dispose();

         ServletOutputStreamoutStream=response.getOutputStream();

         JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(outStream);

         encoder.encode(image);

         outStream.close();

    %>

3.num.jsp

<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""pageEncoding="gb2312"%>

<%

//setChineseChar

//CodybyJarryLi@;

//homepage:

request.setCharacterEncoding("gb2312");

response.setCharacterEncoding("gb2312");

response.setContentType("text/html;charset=gb2312");

%>

<%

Stringnum=request.getParameter("num");

Stringrandom=(String)session.getAttribute("random");

if(num!

=null&&random!

=null)

{

if(!

num.equals(random))

{

/*

   out.println("");

   out.println("");

   //response.sendRedirect("img.jsp");

   */

   out.print("validate_failed:

"+random);

}

else

   {

    //out.println("

验证成功!

");

   out.print("validate_successful:

"+random);

   }

}

%>

.js

/*namespacingobject*/

varnet=newObject();

net.READY_STATE_UNINITIALIZED=0;

net.READY_STATE_LOADING=1;

net.READY_STATE_LOADED=2;

net.READY_STATE_INTERACTIVE=3;

net.READY_STATE_COMPLETE=4;

/*---contentloaderobjectforcross-browserrequests---*/

net.ContentLoader=function(url,on_load,on_error,method,params,contentType){

   this.req=null;

   this.on_load=on_load;

   this.on_error=(on_error)?

on_error:

this.defaultError;

   this.loadXMLDoc(url,method,params,contentType);

}

net.ContentLoader.prototype.loadXMLDoc=function(url,method,params,contentType){

   if(!

method)

   {

method="GET";

   }

   if(!

contentType&&method=="POST")

   {

contentType='application/x-www-form-urlencoded';

   }

   if(window.XMLHttpRequest)

   {

this.req=newXMLHttpRequest();

   }

   elseif(window.ActiveXObject)

   {

    //addtrycatch;

    try{

       this.req=newActiveXObject("Msxml2.XMLHTTP");

    }catch(e1){

      try{

       this.req=newActiveXObject("Microsoft.XMLHTTP");     

       }catch(e2){

     }

    }

      //

//this.req=newActiveXObject("Microsoft.XMLHTTP");

   }

   if(this.req)

   {

try

{

    varloader=this;

    this.req.onreadystatechange=function()

    {

   net.ContentLoader.onReadyState.call(loader);

    }

    this.req.open(method,url,true);

    if(contentType)

    {

     this.req.setRequestHeader('Content-Type',contentType);

    }

    this.req.send(params);

}

catch(err)

{

    this.on_error.call(this);

}

   }

}

net.ContentLoader.onReadyState=function(){

   varreq=this.req;

   varready=req.readyState;

   if(ready==net.READY_STATE_COMPLETE){

varhttpStatus=req.status;

if(httpStatus==200||httpStatus==0){

    this.on_load.call(this);

}else{

    this.on_error.call(this);

}

   }

}

net.ContentLoader.prototype.defaultError=function(){

   alert("errorfetchingdata!

"

+"\n\nreadyState:

"+this.req.readyState

+"\nstatus:

"+this.req.status

+"\nheaders:

"+this.req.getAllResponseHeaders());

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2