[jsp] 회원가입- id 유효성/중복 검사-db연동-ajax

[jsp] 회원가입- id 유효성/중복 검사-db연동-ajax

ID 유효성 검사

ajax사용 InsertForm.jsp→checkId.jsp → MemberDAO의 checkId(id) 메소드로 DB에 Id체크

→ checkId.jsp 에서 response로 리턴값 받아서 alert창띄우고/ return false로 회원가입 막음

/* InsertForm.jsp */ function check_id(){ var id = $('#id').val(); if(id == ""){ $('#id').css('border','2px solid #F00'); $('.id_caution').show(); return false; }else if(id != ""){ $.ajax({ url:"checkId.jsp", data : {id:id}, success : function(data, textStatus){ if(data == 'existed'){ alert('이미 가입된 아이디입니다.'); return false; }else{ $('#id').css('border','1px solid #ccc'); $('.id_caution').hide(); return false; } } }); } return true; }

/* checkId.jsp */ <%@page import="com.mountain.MemberDAO"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String id = request.getParameter("id"); System.out.println("id : "+id); MemberDAO mdao = new MemberDAO(); String check = mdao.checkId(id); System.out.println("check : "+check); response.getWriter().write(check); response.getWriter().flush(); response.getWriter().close(); %> 짧은코드 <% MemberDAO mdao = new MemberDAO(); response.getWriter().write(mdao.checkId(request.getParameter("id"))); response.getWriter().flush(); response.getWriter().close(); %>

처음에는 11번째 라인까지 출력은 되었는데 그아래 부분을 할줄몰라 구글검색해서 찾음 ㅎㅎ 뿌듯

MemberDAO.java // checkId() --------- existed면 사용할 수 없는 ID public String checkId(String id) { String check = "empty"; try { con = getCon(); sql = "select id from mountain_member where id=?"; pstmt = con.prepareStatement(sql); pstmt.setString(1, id); rs = pstmt.executeQuery(); if(rs.next()){ check="existed"; System.out.println("DAO : 이미 등록된 ID입니다" + check); }else{ System.out.println("DAO : 사용가능한 ID입니다" + check); } } catch (Exception e) { e.printStackTrace(); }finally{ closeDB(); } return check; } // checkId()

처음에는 boolean타입으로 반환 해서 하려했는데

여러 책을 보면 보통 쓰는 return 문구들이

- alreadyExisted

요런느낌 이라서 써봤다. 개발자스러운 문구같다. 멋있다.

ㅎㅎ 뿌듯~

from http://masonb.tistory.com/25 by ccl(A) rewrite - 2021-09-12 12:27:10