본문 바로가기
study/MVC

[MVC] 16. MVC Model1 방식 - 회원가입 (비밀번호변경)

by 금이패런츠 2022. 4. 12.
728x90
반응형
<%@page import="model.Member"%>
<%@page import="model.MemberDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- src/main/webapp/model1/member/password.jsp --%>
<%-- 
   1. 로그아웃상태인 경우. 로그인 하세요. 메세지 출력. 
           다른 사용자의 비밀번호 변경 불가. => 로그인된 id값만 변경가능. 본인만 변경.
      opener 페이지를 loginForm.jsp 페이지 이동.
            현재페이지 닫기
   2. pass, chgpass 파라미터 값 저장
   3. pass 비밀번호가 db에 저장된 비밀번호와 틀리면
            비밀번호 오류 메세지 출력. passwordForm.jsp 페이지 이동
   4. pass 비밀번호가 db에 저장된 비밀번호와 같으면
      MemberDao.updatePass(login,chgpass) => 새로운 비밀번호로 수정
            비밀번호 수정 성공.
                 메세지 출력후opener 페이지를 info.jsp 페이지 이동. 현재페이지 닫기
            비밀번호 수정 실패.
                 메세지 출력후 opener 페이지를 updateForm.jsp 페이지 이동. 
                 현재페이지 닫기
 --%>
<%
	String login = (String)session.getAttribute("login");
	boolean opener = true; //opener 페이즈의 url을 변경
	boolean closer = true; //현재페이지 close
	String msg = null;
	String url = null;
	if(login == null) { //로그아웃
		msg = "로그인 하세요.";
		url = "loginForm.jsp";
	} else {
		String pass = request.getParameter("pass");
		String chgpass = request.getParameter("chgpass");
		MemberDao dao = new MemberDao();
		Member mem = dao.selectOne(login); //login된 id의 정보
		//pass : 입력된 현재 비밀번호
		//mem.getPass : db에 등록된 비밀번호
		if(pass.equals(mem.getPass())) {
			//login : 아이디값
			if(dao.updatePass(login,chgpass) > 0) { //db 내용 수정
				msg = "비밀번호가 변경되었습니다.";
				url = "info.jsp?id="+login;
			} else { //비밀번호를 db에서 변경시 오류 발생
				msg = "비밀번호가 변경에 오류가 발생 했습니다.";
				url = "updateForm.jsp?id="+login;
			}
		} else { //비밀번호 오류
			opener = false;
			closer = false;
			msg = "비밀번호 오류입니다. 확인하세요.";
			url = "passwordForm.jsp";
		}
	}
%>  
<script>
	alert("<%=msg%>");
	<% if(opener) { %>
		opener.location.href="<%=url%>";
	<% } else { %>
		location.href="<%=url%>";
	<% } %>
	<% if(closer) { %>
		self.close(); //현재 창 닫기
	<% } %>
</script> 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>비밀번호변경</title>
</head>
<body>

</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- src/main/webapp/model1/member/passwordForm.jsp --%>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>비밀번호 변경</title>
<link rel="stylesheet" href="../../css/main.css" >
<script type="text/javascript">
   function inchk(f) {
	   if(f.chgpass.value != f.chgpass2.value) {
		   alert("변경 비밀번호 와 변경 비밀번호 재입력이 다릅니다.");
		   f.chgpass2.value="";
		   f.chgpass2.focus();
		   return false;
	   }
	   return true;
   }
</script></head>
<body>
<form action="password.jsp" method="post" name="f" 
     onsubmit="return inchk(this)">
<table><caption>비밀번호 변경</caption>
  <tr><th>현재 비밀번호</th><td><input type="password" name="pass"></td></tr>
  <tr><th>변경 비밀번호</th><td><input type="password" name="chgpass"></td></tr>
  <tr><th>변경 비밀번호 재입력</th>
  <td><input type="password" name="chgpass2"></td></tr>
  <tr><td colspan="2"><input type="submit" value="비밀번호 변경"></td></tr>
</table></form></body></html>

 

728x90
반응형