ajaxで登録ユーザ名が重複しているかどうかを検出する完全な例を実現する(二)

2807 ワード

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

これにより,登録を実現する際に,登録ユーザ名が既に存在するか否かの機能を検証することができる.