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>