用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; }