• 로그인 부분 controller
	@Override
	@RequestMapping(value="/login.do" ,method = RequestMethod.POST)
	public ModelAndView login(@RequestParam Map<String, String> loginMap,
							HttpServletRequest request, HttpServletResponse response)throws Exception{
		ModelAndView mav = new ModelAndView();
		memberVO = memberService.login(loginMap);
		if(memberVO !=null && memberVO.getMember_id() != null) {
			HttpSession session = request.getSession();
			session = request.getSession();
			session.setAttribute("isLogOn", true);
			session.setAttribute("memberInfo", memberVO);
			
	
			String action=(String)session.getAttribute("action");
			if(action!=null && action.equals("/")) {
				mav.setViewName("forword:" + action);
			}else {
				mav.setViewName("redirect:/main/main.do");
			}
		}else {
			String message = "아이디나 비밀번호가 틀립니다. 다시 로그인 해주세요";
			mav.addObject("message",message);
			mav.setViewName("/member/loginForm");
		}
		return mav;
	}

 

  • @RequestParam 어노테이션은 HttpServletRequest 객체와 같은 역할을 한다.
  • @RequestParam("가져올 데이터 이름")[데이터 타입][가져온 데이터를 담을 변수]
  1. Map으로 하여 id,pw를 저장하게 하였다.
  2. if문을 통해 값이 null이 아니라면 조회한 회원 정보를 가져와 isLogOn 속성을 true로 설정하며,
    memberInfo 속성으로 회원정보를 저장하게 하였다
  3. 아이디나 비밀번호가 틀렸을시, 메시지를 띄우며 다시 로그인페이지로 가게하였다.
  • 로그인 부분DAO
	@Override
	public MemberVO login(Map loginMap)throws DataAccessException{
		MemberVO member=(MemberVO)sqlSession.selectOne("mapper.member.login",loginMap);
		return member;
}
  • 로그인 부분Service
	@Override
	public MemberVO login(Map loginMap)throws Exception{
		return memberDAO.login(loginMap);
	}

 

로그아웃 controller

	@Override
	@RequestMapping(value = "/logout.do", method =  RequestMethod.GET)
	public String logout(HttpSession session) throws Exception {
		session.invalidate();
		logger.info("bye logout success");

		return "redirect:/main/main.do";
	}

 

  • session.invalidate(); 함수를 사용하여 세션을 없애고 세션에 속해있는 값들을 모두 없앤다.
  • <a href="${contextPath}/member/logout.do" onClick="window.location.reload()">로그아웃 |</a>
  • jsp에서 새로고침 함수를 활용하여 로그아웃 버튼클릭 시 새로고침되면서 메인화면으로 돌아오게 하였다.

 


화면부js

<c:if test='${not empty message }'>
<script>
window.onload=function()
{
  result();
}

function result(){
	alert("아이디나  비밀번호가 틀립니다. 다시 로그인해주세요");
}
</script>
</c:if>
  • Controller에서 선언한 message메서드를 실행시키기위해 스크립트를 사용하여 id,pw가 틀렸을시 메시지를 호출하게 만들었다.
  • 회원가입 완료는 submit으로 input태그를 만들어서 하였습니다,
복사했습니다!