IT/Java Spring

ch10.SpringMVC 종합 04.로그인

Millennials 2020. 6. 24. 11:22

1)Controller

2)member.xml 설정파일

memberLogin 정의

3)memberLogin.jsp

4)실행 및 오류체크


5)메서드 추가

MemberMapper.java

MemberService.java

MemberServiceImpl.java


7)Controller

8)사용자 정의 Exception 생성

9)Controller

	//로그인 처리
	@RequestMapping(value="/member/login.do",method=RequestMethod.POST)
	public String submitLogin(@Valid MemberVO memberVO,BindingResult result,HttpSession session) {
		//로그 표시
		if(log.isDebugEnabled()) {
			log.debug("<<Member>> : " + memberVO);
		}
		//유효성체크 id와 비밀번호만 체크
		if(result.hasFieldErrors("id")||result.hasFieldErrors("passwd")) {
			return formLogin();//체크 결과 에러가 있으면 폼을 호출
		}
		//로그인 체크
		try {
			MemberVO member = memberService.selectCheckMember(memberVO.getId());
			
			boolean check = false;
			if(member != null) {
				//비밀번호 체크
				check = member.isCheckedPasswd(memberVO.getPasswd());
			}
			if (check) {
				//로그인 성공
				session.setAttribute("user_id", member.getId());
				session.setAttribute("user_auth", member.getAuth());
				session.setAttribute("user", member);
				
				if(log.isDebugEnabled()) {
					log.debug("==로그인 성공=");
					log.debug("<<user_id>> : "+member.getId());
					log.debug("<<user_auth>> : "+member.getAuth());
					log.debug("<<user>> : "+member);
				}
				return "redirect:/main/main.do";
			}else {
				//로그인 실패
				throw new AuthCheckException();
			}
			
		}catch (AuthCheckException e) {
			//로그인 실패시 에러코드를 지정하고 폼을 호출함
			result.reject("invalidIdOrPassword");
			if(log.isDebugEnabled()) {
				log.debug("==로그인 실패==");
			}
			return formLogin();
		}
	}

10)invalidIdOrPassword

11)

10)실행 및 오류체크

 

6)MemberMapper.java

반응형