📌 passwordForm 비밀번호 변경
<%— 1. javascript inchk 함수 구현하기
- pass, chgpass 값을 필수 입력
- chgpass == chgpass2 값이 다르면 오류 —%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp2/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.pass.value == '') {
alert("현재 비밀번호를 입력하세요.")
f.pass.focus()
return false
}
if(f.chgpass.value == '') {
alert("변경 비밀번호를 입력하세요.")
f.chgpass.focus()
return false
}
if(f.chgpass.value != f.chgpass.value) {
alert("비밀번호가 서로 일치하지 않습니다.")
f.chgpass.focus()
return false
}
}
</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>
📌 password 비밀번호 변경 저장
<%—
1. 로그아웃 상태인 경우, 로그인 하세요. 메세지 출력.
opener 페이지를 loginForm.jsp페이지 이동.
현재 페이지 닫기
2. pass, chgpass 파라미터 값 저장.
3. pass 비밀번호가 db에 저장된 비밀번호와 틀리면 비밀번호 오류 메세지 출력.
현재 페지이를 passwordForm.jsp 페이지 이동
4. pass 비밀번호가 db에 저장된 비밀번호와 같으면 => 비밀번호 검증 완료
MemberDao.updatePass(login,chgpass) => 새로운 비밀번호로 수정
- 비밀번호 수정 성공 :
메세지 출력 후 opener 페이지를 info.jsp 페이지 이동. 현재페이지 닫기
- 비밀번호 수정 실패 :
메세지 출력 후 opener 페이지를 updateForm.jsp 페이지 이동. 현재 페이지 닫기
--%>
<%@ page import="model1.Member"%>
<%@ page import="model1.MemberDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp2/src/main/webapp/model1/member/password.jsp --%>
<%
String id = request.getParameter("id");
String logion = (String)session.getAttribute("login");
String msg = null;
String url = null;
//1. 로그아웃 상태인 경우
if(id == null) {
msg = "로그인 하세요."
url = "loginForm.jsp"
}
//2. pass,chgpass 파라미터 값 저장
String pass = (String)session.getAttribute("pass");
String chgpass = request.getParameter("chgpass");
MemberDao dao = new MemberDao();
Member mem = dao.selectOne(login);
// 3. pass 비밀번호가 db에 저장된 비밀번호와 틀리면
if(!pass.equals(mem.getPass())) {
msg = "비밀번호 오류";
url = "passwordForm.jsp" + id;
} else { //4. pass 비밀번호가 db에 저장된 비밀번호와 같으면
MemberDao.updatePass(login,chgpass);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
📌 memberDao.java 에 updatePass추가
public boolean updatePass(String id, String pass) {
//1.Connection DB연결
Connection conn = DBConnection.getConnection();
PreparedStatement pstmt = null;
String sql = "update member set pass=? where id=?";
try {
//2.PreparedStatement DB결과를 불러서
//pstmt로 멤버를
pstmt = conn.prepareStatement(sql);//sql연결 관리
pstmt.setString(1, pass);
pstmt.setString(2, id);
return pstmt.executeUpdate() > 0;
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBConnection.close(conn, pstmt, null);
}
return false;
}
'수업(국비지원) > JSP' 카테고리의 다른 글
| [JSP] MVC MODEL1 방식 - 비밀번호 조회, 비밀번호 조회 구현(pwForm, pw) (0) | 2023.04.19 |
|---|---|
| [JSP] MVC MODEL1 방식 - 아이디 찾기, 아이디찾기 구현부(idForm, id.jsp) (0) | 2023.04.19 |
| [JSP] MVC MODEL1 방식 - 회원정보 보기(list) (0) | 2023.04.19 |
| [JSP] MVC MODEL1 방식 - 회원 탈퇴,정보삭제(DeleteForm , Delete) (0) | 2023.04.19 |
| [JSP] MVC MODEL1 방식 - 회원정보 수정(UpdateForm, Update) (0) | 2023.04.19 |