회원 가입시 이메일 중복 확인 추가 (내 프로젝트에 적용)
Back-End/Spring 2019. 9. 10. 15:27기존 - 회원가입전 인증번호를 이메일로 발송해 인증번호가 맞으면 회원가입 페이지로 이동해 회원가입 진행
변경 - 회원가입전 이메일 중복확인을해서 중복되지 않으면 인증번호를 이메일로 발송해 인증번호가 맞으면
회원가입 페이지로 이동해서 회원가입을 진행시킨다.
email.jsp
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 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <%@ include file="../include/header.jsp"%> </head> <%@ include file="../include/menu.jsp"%><br> <body> <table border="1" width="300" height="300" align= "center"> <center> <span style="color: green; font-weight: bold;">이메일 인증 (이메일을 인증 받아야 다음 단계로 넘어갈 수 있습니다.)</span> <br> <br> <br> <br> <div style="text-align:center;"> <tr> <td> <center> <!-- 넘겨받은 이메일이 없을시 출력되는 구문 --> <c:if test = "${e_mail == null}"> <div> <form action="email_check.do" method="post"> 이메일 : <input type="email" name="e_mail" placeholder=" 이메일주소를 입력하세요. "><br><br> <button type="submit" name="submit">중복확인</button></form> </div> </c:if> <!-- 넘겨받은 이메일이 있을시에 출력되는 구문, 이메일 중복확인을 한 후에 다른 이메일로 변경하지 못하도록 이메일 값을 그대로 받아옴 --> <c:if test = "${e_mail != null}"> <div> <form action="auth.do${e_mail}" method="post"> <center> <br>이메일 : ${e_mail} <br> <br> <button type="submit" name="submit">이메일 인증받기 (이메일 보내기)</button> </div> </c:if> </td> </tr> </center> </table> </form> </center> <br><br><%@ include file="../include/Botton.jsp"%> </body> </html> | cs |
MemberController.java 중 일부
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 | //이메일 중복확인을 하는 메소드 @RequestMapping("/member/email_check.do") public ModelAndView email_check(String e_mail, HttpServletResponse response_equals) throws Exception { memberservice.email_check(e_mail); if(memberservice.email_check(e_mail)) { response_equals.setContentType("text/html; charset=UTF-8"); PrintWriter out_equals = response_equals.getWriter(); out_equals.println("<script>alert('사용하실 수 있는 이메일 입니다.');</script>"); out_equals.flush(); ModelAndView mv = new ModelAndView(); mv.setViewName("/member/email"); mv.addObject("e_mail",e_mail); return mv; } else { response_equals.setContentType("text/html; charset=UTF-8"); PrintWriter out_equals = response_equals.getWriter(); out_equals.println("<script>alert('사용할 수 없는 이메일 입니다. 다른 이메일을 입력해주세요.'); history.go(-1);</script>"); out_equals.flush(); } ModelAndView mv = new ModelAndView(); mv.setViewName("/member/email"); return mv; } | cs |
MemberServiceImpl.java 중 일부
1 2 3 4 5 6 7 8 9 | //이메일 중복 확인 @Override public boolean email_check(String e_mail) throws Exception{ boolean result = memberdao.email_check(e_mail); return result; } | cs |
MemberDAOImpl.java 중 일부
1 2 3 4 5 6 7 8 9 | @Override public boolean email_check(String e_mail) throws Exception { String email =sqlSession.selectOne("member.email_check", e_mail); //조건식 ? true일때의 값 : false일때의 값 //이메일이 null이면 db에 저장되어 있지 않은 (중복되지 않은) 이메일이므로 true를 리턴함 return (email==null) ? true : false; } | cs |
memberMapper.xml 중 일부
1 2 3 4 5 | <!-- 이메일 중복확인 관련 mapper--> <select id = "email_check" resultType="String"> select e_mail from member where e_mail=#{e_mail} </select> | cs |
'Back-End > Spring' 카테고리의 다른 글
회원정보보기 기능 구현 (내 프로젝트에 적용) (0) | 2019.09.19 |
---|---|
회원 가입시 아이디 중복 확인 추가 (내 프로젝트에 적용) (0) | 2019.09.17 |
페이스북 연동 로그인 API (0) | 2019.08.29 |
카카오톡 연동 로그인 API (0) | 2019.08.29 |
Spring 비밀번호 찾기 기능 변경 (내 프로젝트 적용) (6) | 2019.08.28 |