Cohe
JSP mini project : mypage 실습5 - 회원 정보 수정(2) 본문
728x90
반응형
비밀번호 변경과 관련하여, 비밀번호를 변경하려면 우선, 현재의 비밀번호와 이전에 저장되어 있는 비밀번호가 일치해야 하는지 확인하고, 일치한 경우에서야 비밀번호 변경을 허가해줘야한다.
change_pw.jsp
<%@page import="com.myweb.user.model.UserVO"%>
<%@page import="com.myweb.user.model.UserDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%
String id = (String)session.getAttribute("user_id");
if(id ==null){
response.sendRedirect("user_login.jsp");
}
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Welcome to MyWorld</title>
<!-- Bootstrap Core CSS -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../css/business-casual.css" rel="stylesheet">
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Josefin+Slab:100,300,400,600,700,100italic,300italic,400italic,600italic,700italic" rel="stylesheet" type="text/css">
</head>
<body>
<%@include file="../include/header.jsp" %>
<section>
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<form name = "regform" class="form-horizontal" action="user_change_pw_ok.jsp" method="post">
<h2 class="text-center">비밀번호 수정 페이지</h2>
<hr>
<div class="form-group">
<label class="col-sm-3 control-label">현재 비밀번호</label>
<div class="col-sm-9">
<input type="text" class="form-control" name="old_pw">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">새 비밀번호</label>
<div class="col-sm-9">
<input type="password" class="form-control" name="new_pw">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<button type="submit" class="btn btn-primary" >확인</button>
<button type="button" class="btn btn-info" onclick="history.go(-1)">마이페이지</button>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
<%@include file="../include/footer.jsp" %>
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
</html>
user_change_pw_ok.jsp
<%@page import="com.myweb.user.model.UserDAO"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
String id = (String)session.getAttribute("user_id");
if(id ==null){
response.sendRedirect("user_login.jsp");
}
request.setCharacterEncoding("utf-8");
String oldPw = request.getParameter("old_pw");
String newPw = request.getParameter("new_pw");
UserDAO dao = UserDAO.getInstance();
int result = dao.login(id,oldPw);
if(result == 0){//예전 비밀번호 실패
%>
<script>
location.href="user_mypage.jsp";
</script>
<%
}else{
int result2 = dao.changePW(id,newPw);
if(result2==1){
%>
<script>
alert("비밀번호 변경처리 되었습니다.");
location.href="user_mypage.jsp";
</script>
<%
}
else{
%>
<script>
alert("비밀번호 변경에 실패하였습니다.");
location.href="user_mypage.jsp";
</script>
<%
}
}
%>
DAO 수정
public int changePW(String id,String pw ) {
int result =0;
String sql = "update users set pw=? where id=?";
try {
conn = ds.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,pw);
pstmt.setString(2,id);
result = pstmt.executeUpdate();
}catch (SQLException sqle) {
System.out.println("SQL 연동 오류");
System.out.println(sqle.getMessage());
}finally {
JdbcUtil.close(conn, pstmt, rs);
}
return result;
}
728x90
반응형
'개발 언어 > JSP' 카테고리의 다른 글
7. EL 표기법, JSTL (0) | 2024.04.18 |
---|---|
JSP mini project : mypage 실습6 - 회원 탈퇴 (0) | 2024.04.15 |
JSP mini project : mypage 실습4 - 회원 정보 수정 (0) | 2024.04.15 |
JSP mini project : mypage 실습3 - 로그인 (0) | 2024.04.15 |
JSP mini project : mypage 실습 (0) | 2024.04.15 |