Project/Final (20.10.05-20.11.17)

2020.11.12.(목) 마이페이지 - 탈퇴 성공시 Controller에서 alert 띄우고 session.invalidate 되면서 loginform으로 이동하도록 수정

myspace 2020. 11. 15. 14:45

탈퇴 성공시 Controller에서 alert 띄우고 session.invalidate 되면서 loginform으로 이동하도록 수정

- MypageController.java

(1) 12번째 줄 리턴타입을 String에서 void로 변경

(2) 35, 41번째 줄의 return을 제거하되 대신

"<script>alert('탈퇴에 성공하셨습니다.'); location.href='/timewizard/login/loginform';</script>"

이것처럼 script 안에 location.href 주기

/* 유저 탈퇴 */
	@RequestMapping("/userdeletepage")
	public String UserDeletePage(Model model, @RequestParam int user_no) {
		logger.info("[user delete page]");

		model.addAttribute("dto", userinfoBiz.selectOne(user_no));
		
		return "userdeletepage";
	}
	
	@RequestMapping("/userdeleteres")
	public void UserDelete(HttpServletResponse response, UserInfoDto dto, HttpSession session, @RequestParam int user_no) throws Exception {
		logger.info("[user delete Reusult]");
		
		UserInfoDto user = (UserInfoDto) session.getAttribute("login");
		String user_pw = user.getUser_pw();
		String new_pw = dto.getUser_pw();
		
		//비밀번호 불일치로 탈퇴 실패
		if(!(user_pw.equals(new_pw))) {
			response.setContentType("text/html; charset=UTF-8");
			PrintWriter out = response.getWriter();
			out.println("<script>alert('비밀번호가 불일치해서 탈퇴에 실패했습니다.'); location.href='/timewizard/mypage'</script>");
			out.flush();

		} else {
		
			int res = userinfoBiz.delete(user_no);
			
			if(res != 0) {
				System.out.println("탈퇴 성공");
			} else {
				System.out.println("탈퇴 실패");
			}
			
			response.setContentType("text/html; charset=UTF-8");
			PrintWriter out = response.getWriter();
			out.println("<script>alert('탈퇴에 성공하셨습니다.'); location.href='/timewizard/login/loginform';</script>");
			out.flush();
			session.invalidate();
            
		}
	}