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;
}
これにより,登録を実現する際に,登録ユーザ名が既に存在するか否かの機能を検証することができる.