수업(국비지원)/JSP

[JSP] MVC MODEL1 방식 - 아이디 찾기, 아이디찾기 구현부(idForm, id.jsp)

byeolsub 2023. 4. 19. 17:22

📌 idForm 아이디 찾기

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%--/jsp2/src/main/webapp/model1/member/idForm.jsp 

--%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>아이디 찾기</title>
<link rel="stylesheet" href="../../css/main.css">
</head>
<body>
<h3>아이디 찾기</h3>
<form action="id.jsp" method="post">
<table>
<tr><th>이메일</th><td><input type="text" name = "email"></td></tr>
<tr><th>전화번호</th><td><input type="text" name = "tel"></td></tr>
<tr><td colspan = "2" ><input type="submit" value = "아이디찾기"></td></tr>
</table>
</form>
</body>
</html>

 


 

📌 id.jsp 아이디찾기 구현부

<%--/jsp2/src/main/webapp/model1/member/id.jsp 
	1. email, tel 파라미터 저장
	2.db에서 email과 tel을 이용하여 id값을 리턴
		id = MemberDao.idSearch(email,tel)
	3.id값이 존재 : id값을 화면에 출력.
	  			  opener의 id에 값을 저장. 현재 화면 닫기
	4. id 값이 없는 경우 :
		정보에 맞는 id를 찾을 수 없습니다. 메세지 출력 후 idForm.jsp로 페이지 이동.
		idForm.jsp로 이동
--%>

 

<%@page import="model.Member"%>
<%@page import="model.MemberDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%	//1. email, tel 파라미터 저장
		String email = request.getParameter("email");
		String tel = request.getParameter("tel");
	//2.db에서 email과 tel을 이용하여 id값을 리턴
		String id = new MemberDao().idSearch(email,tel);
//3. id 값이 null이 아닌 경우 : email,tel에 맞는 id 값 리턴
//   id 값이 null인 경우 : 조회된 레코드 없음.
		if(id != null) {  
%>
	
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>아이디찾기</title>
<script type="text/javascript">
<%--id값이 존재 : opener의 id에 값을 저장. 현재 화면 닫기 --%>
	function idsend(id) { 
		opener.document.f.id.value=id
		self.close()
	}
</script>
</head>
<body>
<table>
	<tr><th>아이디</th><td><%=id %></td></tr>
	<tr><td colspan="2"><input type="button" value="아이디전송"
		onclick="idsend('<%=id %>')"></td></tr>
</table>
</body>
</html>
<% } else { %>
<script type="text/javascript">
	alert("정보에 맞는 id를 찾을 수 없습니다.")
	location.href="idForm.jsp"
</script>
<% } %>

 

 

📌 MemberDao.java 내용 추가

//아이디 찾기
	public String idSearch(String email,String tel) {
		Connection conn = DBConnection.getConnection();
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try {
			pstmt = conn.prepareStatement
              ("select id from member where email=? and tel=?");
			pstmt.setString(1, email);
			pstmt.setString(2, tel);
			rs = pstmt.executeQuery();
			if(rs.next()) {
				return rs.getString("id");
			}
		} catch(SQLException e) {
			e.printStackTrace();
		}  finally {
			DBConnection.close(conn, pstmt, null);
		}
		return null;
	}