09---Ajax02(异步验证)

来源:互联网 发布:粉笔上的数据如何重置 编辑:程序博客网 时间:2024/04/29 13:08

在进行一个新用户的注册前,必须保证用户的ID唯一,不能重复;
servlet:
 package check.lid.servlet;
 import java.sql.*;
 import java.io.*;
 import javax.servlet.*;
 import javax.servlet.http.*;

 public class CheckServlet extends HttpServlet{
  public static final String DBDRIVEDR="org.gjt.mm.mysql.Driver";
  public static final String DBURL="jdbc:mysql://localhost:3306/lid";
  public static final String DBUSERNAME="root";
  public static final String DBPASSWORD="123";
  public Connection conn=null;
  
  public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{
   this.doPost(request,response);
   }
  public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{
   PrintWriter out=response.getWriter();
   String userid=request.getParameter("userid");
   request.setCharacterEncoding("GBK");
   response.setContentType("text/html");
   conn=null;
   PreparedStatement pstmt=null;
   ResultSet rs=null;
   try{
    Class.forName(DBDRIVEDR);
    conn=DriverManager.getConnection

(DBURL,DBUSERNAME,DBPASSWORD);
    String sql="select count(userid) from user where userid=?";
    pstmt=conn.prepareStatement(sql);
    pstmt.setString(1,userid);
    rs=pstmt.executeQuery();
    if(rs.next()){
      if(rs.getInt(1)>0){
       out.print("true");
       }
      else{
       out.print("false");
       }
     }
    }
   catch(Exception e){
    e.printStackTrace();
    }
   finally{
    try{
     conn.close();
     }
    catch(Exception e){
     }
    }
   }
  }

在web.xml中进行配置:
 <servlet>
   <servlet-name>CheckServlet</servlet-name>
   <servlet-class>check.lid.servlet.CheckServlet</servlet-class>
  </servlet>
 </servlet-mapping>
   <servlet-mapping>
   <servlet-name>CheckServlet</servlet-name>
   <url-pattern>/ajax_demo1/CheckServlet</url-pattern>
  </servlet-mapping>

启动服务器;

<html>
<head>
<scripte>
  var xmlHttp;
  var flag=false;
  function createXMLHttp(){
   if(window.XMLHttpRequest){//判断当前使用的浏览器
    xmlHttp=new XMLHttpRequest();//表示是使用的FireFox内核的浏览


    }esle{         //表示使用的是ie浏览器
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   
  function checkUserid(userid){
   createXMLHttp();
   xmlHttp.open("POST","CheckServlet?userid="+userid);
   xmlHttp.onreadystatechange=checkUseridCallback;
   xmlHttp.send(null);
  }
  function checkUseridCallback(){
   if(xmlHttp.readyState==4){
    if(xmlHttp.status==200){
     var text=xmlHttp.responseText;
     if(text=="true"){
     document.getElementById("msg").innerHtml="用户ID重复

";
     flag=false;
     }else{
     document.getElementById("msg").innerHtml="此用户ID可

以注册";
     flag=true;
     }
     
    }
  }
  funcition checkForm(){
   return flag;
  }
 </script>
</head>
 <body>
  <form action="regist.jsp" method="post" onsubmit="return checkForm()">
   用户ID:<input type="text" name="userid" onblur="checkUserId

(this.value)">
    <span id="msg"></span><br>
   姓名:<input type="text" name="name"><br>
   密码:<input type="password" name="password">
   <input type="submit" value="注册">
   <input type="reset" value="重置">
  </form>
 </body>
</html>

原创粉丝点击