<tr>
<th>아이디</th>
<td><input type="text" name="userId" id="userId"
placeholder="아이디를 입력하세요." />
<button class="btn idCheck">아이디 중복확인</button>
<p class="isAvailable"></p></td>
</tr>
$(".idCheck").on("click", function() {
const sendUserId = $("#userId").val();
if (sendUserId !== "") {
$.ajax({
url : "./idCheck",
data : {
userId : sendUserId
},
success : function(response) {
console.log(response);
if (parseInt(response.trim()) === 0) {
//$("#userID").attr("readonly", true);
$(".isAvailable").text("쓸 수 있는 아이디 입니다.");
$(".isAvailable").css("color", "green");
} else {
$(".isAvailable").text("쓸 수 없는 아이디 입니다.");
$(".isAvailable").css("color", "red");
$("#userID").val("");
$("#userID").focus();
}
},
fail : function(error) {
console.log(error);
}
});
} else if (sendUserId == "") {
$(".isAvailable").text("아이디를 입력해주세요.");
$(".isAvailable").css("color", "pink");
$("#userID").focus();
}
return false;
})
public int idCheck(String userId) {
int result = 0;
// userId가 null 인 경우는 에이젝스에서 처리하고 있기 때문에
// 여기서는 따로 -1로 반환하거나 하지 않음
String sql = "SELECT COUNT(*) AS COUNT FROM MEMBER02 WHERE USERID = ?";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userId);
rs = pstmt.executeQuery();
if (rs.next()) {
result = rs.getInt("COUNT");
//System.out.println("dao idCheck : " + result);
return result;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return result;
}
@WebServlet("/member/idCheck")
public class IdCheckController extends HttpServlet {
private static final long serialVersionUID = 1L;
public IdCheckController() {
super();
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
MemberDao memberDao = new MemberDao();
String userId = request.getParameter("userId");
int result = memberDao.idCheck(userId);
request.setAttribute("result", result);
System.out.println(userId + " / " + result);
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/member/idCheck.jsp");
dispatcher.forward(request, response);
// pageContext, requset,session,application
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
int result = (int)request.getAttribute("result");
%>
<%=result %>
$(".idCheck").on("click", function() {
const sendUserId = $("#userId").val();
if (sendUserId !== "") {
$.ajax({
url : "./idCheck",
data : {
userId : sendUserId
},
success : function(response) {
console.log(response);
if (parseInt(response.trim()) === 0) {
//$("#userID").attr("readonly", true);
$(".isAvailable").text("쓸 수 있는 아이디 입니다.");
$(".isAvailable").css("color", "green");
} else {
$(".isAvailable").text("쓸 수 없는 아이디 입니다.");
$(".isAvailable").css("color", "red");
$("#userID").val("");
$("#userID").focus();
}
},
fail : function(error) {
console.log(error);
}
});
} else if (sendUserId == "") {
$(".isAvailable").text("아이디를 입력해주세요.");
$(".isAvailable").css("color", "pink");
$("#userID").focus();
}
return false;
})
$(".idCheck").on("click", function() {
const sendUserId = $("#userId").val();
if (sendUserId !== "") {
$.ajax({
url : "./idCheck",
data : {
userId : sendUserId
},
success : function(response) {
console.log(response);
// if(parseInt(response.trim()) === 0)
if (response.count == 0) {
//$("#userID").attr("readonly", true);
$(".isAvailable").text("쓸 수 있는 아이디 입니다.");
$(".isAvailable").css("color", "green");
} else {
$(".isAvailable").text("쓸 수 없는 아이디 입니다.");
$(".isAvailable").css("color", "red");
$("#userID").val("");
$("#userID").focus();
}
},
fail : function(error) {
console.log(error);
}
});
} else if (sendUserId == "") {
$(".isAvailable").text("아이디를 입력해주세요.");
$(".isAvailable").css("color", "pink");
$("#userID").focus();
}
return false;
})
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
import com.jjang051.model.MemberDao;
@WebServlet("/member/idCheck")
public class IdCheckController extends HttpServlet {
private static final long serialVersionUID = 1L;
public IdCheckController() {
super();
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
MemberDao memberDao = new MemberDao();
String userId = request.getParameter("userId");
int result = memberDao.idCheck(userId);
System.out.println(userId + " / " + result);
Map<String, Integer> resultMap = new HashMap<>();
resultMap.put("count", result);
Gson gson = new Gson();
String resultJson = (String)gson.toJson(resultMap);
request.setAttribute("result", resultJson);
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/member/idCheck.jsp");
dispatcher.forward(request, response);
// pageContext, requset,session,application
}
}
<%@page import="com.google.gson.Gson"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.HashMap"%>
<%@ page language="java" contentType="application/json; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//String result = (String)request.getAttribute("result");
%>
<% //out.println(result) %>
<!-- jstl 활용하여 화면에 출력 - response -->
${requestScope.result}
$(".idCheck").on("click", function() {
const sendUserId = $("#userId").val();
if (sendUserId !== "") {
$.ajax({
url : "./idCheck",
data : {
userId : sendUserId
},
success : function(response) {
console.log(response);
// if(parseInt(response.trim()) === 0)
if (response.count == 0) {
//$("#userID").attr("readonly", true);
$(".isAvailable").text("쓸 수 있는 아이디 입니다.");
$(".isAvailable").css("color", "green");
} else {
$(".isAvailable").text("쓸 수 없는 아이디 입니다.");
$(".isAvailable").css("color", "red");
$("#userID").val("");
$("#userID").focus();
}
},
fail : function(error) {
console.log(error);
}
});
} else if (sendUserId == "") {
$(".isAvailable").text("아이디를 입력해주세요.");
$(".isAvailable").css("color", "pink");
$("#userID").focus();
}
return false;
})