Recent Posts
Link
250x250
오늘보다 더 나은 내일의 나에게_
비전공자의 IoT 국비 교육 수강일지 Day_49 본문
728x90
회원가입 시 이메일 중복체크
이메일 입력후 중복체크 여부 확인(가능: true, 불가능: false)
코드
더보기main.jsp 자바스크립트 emailCheck() 메서드
function emailCheck(){ let email = document.querySelector("#email"); //이메일 작성창 let checkEmail = document.querySelector("#checkEmail"); let xhr = new XMLHttpRequest() //요청방식 , 요청경로 xhr.open('get', 'IdCheckCon?email=' + email.value); //전송데이터의 형식 xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8') //요청 & 전송할 데이터 xhr.send() xhr.onreadystatechange = function(){ if(xhr.readyState===XMLHttpRequest.DONE){ //요청성공 if(xhr.status===200){ //응답성공 console.log("응답성공") console.log(xhr.responseText) //응답데이터 확인 (responseXML) checkEmail.innerText = xhr.responseText; }else{ console.log("응답실패") } }else{ //요청실패 console.log("요청실패") } } }
idCheckCon.servlet
package com.member; import java.io.IOException; import java.io.PrintWriter; 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.DAO.memberDAO; @WebServlet("/IdCheckCon") public class IdCheckCon extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1. email 값 받기(getParameter사용) String email = request.getParameter("email"); //2. memberDAO email이 사용할 수 있는 email인지 확인해주는 메서드(idCheck()) //반환값 : 있는 아이디면 true / 없는 아이디면 false //=>타입확인 //3. console에 true/false(반환값) 출력 memberDAO dao = new memberDAO(); boolean check = dao.idCheck(email); System.out.println(check); PrintWriter out = response.getWriter(); out.print(check); } }
memberDAO idCheck() 메서드
public boolean idCheck(String email) { boolean check = false; try { connect(); String sql = "select email from message_member where email = ?"; psmt = conn.prepareStatement(sql); psmt.setString(1, email); rs = psmt.executeQuery(); if(rs.next()){ //email이 있는 경우 -> 사용할 수 없는 email(true반환) check = true; }else {//email이 없는 경우 -> 사용할 수 있는 email(false반환) check = false; } }catch(Exception e) { e.printStackTrace(); }finally { close(); } return check; }
FrontController 패턴
: 클라이언트의 다양한 요청들을 한 곳으로 집중시켜 개발 및 유지보수에 효율성을 극대화시키는 패턴
확장자 패턴 이용. do로 오는 모든 요청을 한 곳에서 관리
Command 패턴
: 클라이언트로부터 받은 요청들에 대해서 서블릿이 작업을 직접 처리하지 않고 해당 클래스가 처리하도록 하는 패턴
728x90
'비전공자의 코딩일지' 카테고리의 다른 글
비전공자의 IoT 국비 교육 수강일지 Day_60 (0) | 2022.03.15 |
---|---|
비전공자의 IoT 국비 교육 수강일지 Day_50 (0) | 2022.02.28 |
비전공자의 IoT 국비 교육 수강일지 Day_46 (0) | 2022.02.23 |
비전공자의 IoT 국비 교육 수강일지 Day_44 (0) | 2022.02.21 |
비전공자의 IoT 국비 교육 수강일지 Day_40 (0) | 2022.02.15 |
Comments