首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

用ajax兑现检测注册用户名是否重复的完整例子

2013-03-17 
用ajax实现检测注册用户名是否重复的完整例子ValidateName.java代码如下所示,并且采用userIsExist查找数据

用ajax实现检测注册用户名是否重复的完整例子
ValidateName.java代码如下所示,并且采用userIsExist查找数据库看是否存在相同的用户名。

package com.wuliu.test;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.wuliu.dao.LoginDAO;public class ValidateName extends HttpServlet {public ValidateName(){super();}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");LoginDAO dao = new LoginDAO();boolean flag = false;String loginName=request.getParameter("loginName").toString();flag = dao.userIsExist(loginName);if(true == flag){response.getWriter().write("true");//此值jquery可以接收到  }}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doGet(request, response); }}


public boolean userIsExist(String loginId){ System.out.println("Enter userIsExist");this.dao = new DBConnection();this.cn = this.dao.getConnection();        // 根据指定用户名查询用户信息String sql = "select * from LoginTable where LoginId='"+loginId+"'";System.out.println("logid:"+loginId);try {            // 获取PreparedStatement对象        this.ps = this.cn.prepareStatement(sql);            // 对用户对象属性赋值           // ps.setString(1, loginId);            // 执行查询获取结果集            rs = this.ps.executeQuery();            // 判断结果集是否有效           // System.out.println("rs.next()= "+rs.next());            if(false == rs.next()){                // 如果无效则证明此用户名可用            System.out.println("用户名可用");                return true;            }            // 释放此 ResultSet 对象的数据库和 JDBC 资源            rs.close();            // 释放此 PreparedStatement 对象的数据库和 JDBC 资源            ps.close();        } catch (SQLException e) {            e.printStackTrace();        }finally{            // 关闭数据库连接        this.dao.closeConnection(cn);        }        System.out.println("用户名不可用");        return false;    }



<form action="register.do?action=add" onsubmit="return submessage(this)" method="post" name="form1"><table border="1" width="500" cellspacing="1" cellpadding="3" align="left" bordercolor="#326598" ><tr><td colspan="7" bgcolor="#FEA817">[align=center]<font color="#FFFFFF"><b>用户注册</b> </font>[/align]</td></tr><tr><td>用户名</td><td><input name="uname" id="username" type="text" size="20" onblur="validatorloginName()">      </td></tr><tr><td>登陆密码</td><td><input type="password" name="upwd"></td></tr><tr><td>确认密码</td><td><input type="password" name="upwd1"></td></tr><tr><td colspan="2" align="center"><input type="submit" value="提交"><input type="reset" value="重置"></td></tr></table></form>

通过ajax将注册用户名发送到ValidateName.do进行校验。
页面上添加的ajax组件:
<script src="/js/jquery/jquery-1.3.2.js" type="text/javascript"></script>      <script type="text/javascript" language="javascript">  function validatorloginName(){ var loginName=document.getElementById("uname").value; if(loginName == "") { alert("用户名不能为空!"); return; } $.ajax({ type: "POST",             url: "ValidateName",              data: "loginName="+loginName,          success: function(data){    if(data=="true"){        alert("恭喜您!用户名没有被使用!");         }else{        alert("抱歉!用户名已存在!");       }   }                  });   }</script>

web.xml里面配置如下:
<servlet>    <description>This is the description of my J2EE component</description>    <display-name>This is the display name of my J2EE component</display-name>    <servlet-name>ValidateName</servlet-name>    <servlet-class>com.wuliu.test.ValidateName</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>ValidateName</servlet-name>    <url-pattern>/ValidateName</url-pattern>  </servlet-mapping>

热点排行