AJAX注册重名检测(绝对没有bug!)

原创 2007年10月06日 01:24:00

将我以前写的AJAX代码贡献出来 

大家一起学习,绝对没有BUG!

共两个文件

ValidationServlet.java

validation.html

 //ValidationServlet.java

package ajaxbook.chap4;

import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import bookshop.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ValidationServlet extends HttpServlet {   
   
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        PrintWriter out = response.getWriter();
       
        boolean passed = validateDate(request.getParameter("name"));
        response.setContentType("text/xml");
        response.setHeader("Cache-Control", "no-cache");
        String message = "Name Double!";
       
        if (passed) {
            message = "dgdf";
        }
        out.println("<response>");
        out.println("<passed>" + Boolean.toString(passed) + "</passed>");
  out.println("<message>" + message + "</message>");
        out.println("</response>");
        out.close();
     }
   
    /**
     * Checks to see whether the argument is a valid date.
     * A null date is considered invalid. This method
     * used the default data formatter and lenient
     * parsing.
     *
     * @param date a String representing the date to check
     * @return message a String represnting the outcome of the check
     */
    private boolean validateDate(String date){
       
        boolean isValid = true;
 String sql = "SELECT * FROM userpassword WHERE user_id='"+date+"';";
  DBSQLManager dbsm = new DBSQLManager();
  dbsm.setSqlStr(sql);

        try
        {

 dbsm.executeQuery();
 ResultSet rs =  dbsm.getRs();
 if (rs.next())
     {
            isValid = false;
     }

          }
        catch(Exception exception)
        {
            System.out.println(exception);
        };


        return isValid;
    }
}

 

//validation.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
    <title>Using Ajax for validation</title>
 
    <script type="text/javascript">
        var xmlHttp;

        function createXMLHttpRequest() {
            if (window.ActiveXObject) {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();               
            }
        }

        function validate() {
            createXMLHttpRequest();
            var date = document.getElementById("name");
            var url = "ValidationServlet?name=" + escape(date.value);
            xmlHttp.open("GET", url, true);
            xmlHttp.onreadystatechange = callback;
            xmlHttp.send(null);
        }

        function callback() {
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.status == 200) {
                    var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
     var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
                    setMessage(mes,val);
                }
            }
        }
       
        function setMessage(message,isValid) {           
            var messageArea = document.getElementById("dateMessage");
            var nameArea = document.getElementById("name");
            var fontColor = "red";
            if (isValid == "true") {
               messageArea.innerHTML = "";

            }
   else{
            messageArea.innerHTML = "<font color=" + fontColor + ">" + message + " </font>";
   nameArea.value="";
      nameArea.focus();
      }
        }

    </script>
  </head>
  <body>
    <h1>Enter your name</h1>
    Your name: <input type="text" size="10" id="name" onchange="validate();"/>
    <div id="dateMessage"></div>
  </body>
</html>

异步ajax验证用户名(防止重名)

  • 2011年11月11日 22:09
  • 28KB
  • 下载

jQuery+Ajax+Mysql 检测用户名注册时是否重名

利用jQuery框架,封装了底层的Ajax异步技术,通过简单的方法调用即可实现。这篇博客是针对用户注册时出现的用户名重名问题的自动检测,利用的技术是Ajax异步传输。register.jsp 注册显示...
  • Coder__CS
  • Coder__CS
  • 2017年06月01日 00:08
  • 685

jquery+ajax 根据输入生成用户名并检测用户重名

JSP function checkUser(){ //检查用户名是否重名        var name = $('#userName').val();        var suc...
  • buku77
  • buku77
  • 2012年08月27日 14:29
  • 2695

利用AJAX来检测用户名是否已经被注册

实现功能: 在注册表单中,当用户填写了用户名后,把光标移开后,会自动向服务器发送异步请求。服务器返回true或false,返回true表示这个用户名已经被注册过,返回false表示没有注册过。客户端...
  • duyifei01
  • duyifei01
  • 2016年08月05日 23:55
  • 2988

关于注册用户名重名Ajax检测

//Jsp部分  function checkName(){     var ajax;       //第一步:创建ajax对象       try{           //IE浏览器      ...
  • Javacghv
  • Javacghv
  • 2015年07月21日 18:50
  • 217

PHP+AJAX实现无刷新注册(带用户名实时检测)代码

很多时候,我们在网上注册个人信息,在提交完页面后,总得等待页面刷新来告诉我们注册是否成功,遇到网络差的时候,如果注册了一大串的东西,在经过漫长的等待页面刷新后,得到的确是“您的用户名已被使用”或XXX...
  • wuliao_00
  • wuliao_00
  • 2012年06月22日 19:55
  • 1569

用ajax实现检测注册用户名是否重复的完整例子(一)

网上搜索了很多案例,但都和自己的需求不一样。  最终实现了下面的例子实现了对注册用户名的校验。采用的架构是servelet+jsp.  JSP页面代码:  Html代码   ...
  • asdfzjs
  • asdfzjs
  • 2014年08月05日 15:26
  • 4075

在PHP中应用AJAX技术检测用户名是否重复

在PHP中应用AJAX技术检测用户名
  • qq366567
  • qq366567
  • 2015年12月05日 09:40
  • 254

Ajax验证用户名或昵称是否已被注册

JavaScript中XMLHttpRequest对象是整个Ajax技术的核心,它提供了异步发送请求的能力 。而用户名或昵称的验证就可以使XMLHttpRequest对象实现。下面是个小例子。 页面...
  • su20145104009
  • su20145104009
  • 2017年03月14日 21:18
  • 7650

Ajax检测用户名是否已经注册

程序功能    当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册!实现过程    利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用。这里只是为...
  • flyawayl
  • flyawayl
  • 2017年08月28日 21:32
  • 225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AJAX注册重名检测(绝对没有bug!)
举报原因:
原因补充:

(最多只允许输入30个字)