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
반응형
'study > MVC' 카테고리의 다른 글
[MVC] 18. MVC Model2방식 - 회원가입 (회원가입) (0) | 2022.04.14 |
---|---|
[MVC] 18. MVC Model2방식 - 회원가입 (로그인 만들기) (0) | 2022.04.14 |
[MVC] 16. MVC Model1 방식 - 회원가입 (비밀번호찾기) (0) | 2022.04.12 |
[MVC] 16. MVC Model1 방식 - 회원가입 (아이디찾기) (0) | 2022.04.12 |
[MVC] 16. MVC Model1 방식 - 회원가입 (회원사진등록) (0) | 2022.04.11 |