1. 회원가입 페이지 아이디 옆에 스펜테그 입력 , 위에 스크립트로 keyup 함수 작성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script src="http://code.jquery.com/jquery-3.1.0.js"> </script> <script> $(document).ready(function() { //아이디 중복체크 $("#userid").keyup(function() { //사용자가 입력한 아이디 var userid = $("#userid").val(); var param = "userid=" + userid; if (userid.length >= 4) { //최소 글자수 이상 //아이디 체크 $.ajax({ type : "post", url : "/web02/member_servlet/idcheck.do", data : param, success : function(result) { $("#span_id").html(result); } }) } }); //버튼클릭 이벤트 $("#btnJoin").click(function() { //폼데이터를 서버에 제출 document.form1.submit(); }); }); </script> </head> <body> <h2>회원가입</h2> <form name="form1" method="post" action="/web02/member_servlet/join.do"> <table border="1" width="700px"> <tr> <td>이름</td> <td><input type="text" name="name" id="name"></td> </tr> <tr> <td>아이디</td> <td><input type="text" name="userid" id="userid"> <span id="span_id"></span></td> </tr> <tr> <td>비밀번호</td> <td><input type="password" name="passwd" id="passwd"></td> </tr> <tr> <td>비밀번호확인</td> <td><input type="password" name="passwd2" id="passwd2"></td> </tr> <tr> <td>이메일</td> <td><input type="email" name="email" id="email"></td> </tr> <tr> <td>폰번호</td> <td><input type="text" name="hp" id="hp"></td> </tr> <tr> <td>우편번호</td> <td><input type="text" name="zipcode" id="zipcode"></td> </tr> <tr> <td>주소</td> <td><input type="text" name="address1" id="address1"></td> </tr> <tr> <td>주소상세</td> <td><input type="text" name="address2" id="address2"></td> </tr> <tr> <td align="center" colspan="2"> <input type="button" value="회원가입" id="btnJoin"> <input type="reset" value="취소"> </td> </tr> </table> </form> </body> </html> | cs |
2.컨트롤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | //아이디 체크 } else if (url.indexOf("idcheck.do") != -1) { String userid = request.getParameter("userid"); System.out.println("userid"+userid); int idcheck = dao.idcheck(userid); System.out.println("idcheck"+idcheck); String message = ""; if (idcheck==0) { message = userid + "는 사용가능한 아이디 입니다."; } else { message = userid + "는 사용할 수 없는 아이디 입니다."; } request.setAttribute("message", message); // 페이지 이동 String page = "/member/idcheck.jsp"; RequestDispatcher rd = request.getRequestDispatcher(page); rd.forward(request, response); } } | cs |
3.dao
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | // idcheck public int idcheck(String userid) { Connection conn = null; // db접속 PreparedStatement pstmt = null; // sql 실행 ResultSet rs = null; // select 결과 처리 int result =1; try { conn = DB.dbConn(); // db접속 성공 String sql = "select count(*) from member where userid=?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, userid); rs = pstmt.executeQuery(); // rs에 실행결과 리턴 if (rs.next()) { // 레코드가 존재하면 result = rs.getInt(1); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); } } catch (Exception e2) { e2.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (Exception e2) { e2.printStackTrace(); } try { if (conn != null) { conn.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } | cs |
4. 아이디 사용여부 표시
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% String message = (String) request.getAttribute("message"); if (message.indexOf("사용가능한") != -1) { %> <span style="color: blue;"><%=message%> </span> <% } else { %> <span style="color: red;"><%=message%></span> <% } %> </body> </html> | cs |