updatePw = new HashMap<>(); updatePw.put("memberId", memberId); update"> updatePw = new HashMap<>(); updatePw.put("memberId", memberId); update"> updatePw = new HashMap<>(); updatePw.put("memberId", memberId); update">
// 비밀번호 수정 - 박찬희
@RequestMapping(value = "/checkPw.do", method = { RequestMethod.GET, RequestMethod.POST })
public String checkPw(@RequestParam("memberPw") String memberPw, @RequestParam("newPwd") String newPwd,
RedirectAttributes rAttr, HttpSession session, Model model, HttpServletRequest request,
HttpServletResponse response) throws Exception {
// 세션에서 memberId 가져오기
String memberId = (String) session.getAttribute("memberId");
if (memberId == null) {
model.addAttribute("error", "세션이 만료되었습니다. 다시 시도해주세요.");
return "/member/checkPw"; // 페이지 그대로 유지
}
// 빈값 체크
if (newPwd == null || newPwd.isEmpty() || memberPw == null || memberPw.isEmpty()) {
model.addAttribute("error", "새 비밀번호를 입력하세요.");
return "/member/checkPw"; // 페이지 유지
}
// 비밀번호 확인 로직
if (!newPwd.trim().equals(memberPw.trim())) {
model.addAttribute("error", "새 비밀번호가 일치하지 않습니다.");
return "/member/checkPw"; // 페이지 유지
}
// 비밀번호 변경 로직 실행
Map<String, String> updatePw = new HashMap<>();
updatePw.put("memberId", memberId);
updatePw.put("newPwd", newPwd);
memberService.updatePwd(updatePw);
// 비밀번호 변경 후 세션에서 memberId 제거
session.removeAttribute("memberId");
// 비밀번호 변경 성공 메시지
rAttr.addFlashAttribute("message", "비밀번호가 성공적으로 변경되었습니다.");
return "redirect:/member/loginForm.do";
}
<!-- 비밀번호 찾기 -->
<select id="findPw" resultType="String" parameterType="memberDomain">
<![CDATA[
select memberId from member
where memberName = #{memberName}
and memberId = #{memberId}
and memberEmail1 = #{memberEmail1}
and memberEmail2 = #{memberEmail2}
]]>
</select>