⛏️/Spring

[Spring] main ver. / logout ver.

defyuil 2023. 12. 12. 09:40

메인 페이지로 이동하기

 

Controller

	// 로그인 - 정보 처리(POST)	
	@RequestMapping(value = "/login",method = RequestMethod.POST)
	public String memberLoginPOST(MemberVO vo,HttpSession session) {
		logger.debug(" /members/login.jsp post방식 호출 -> memberLoginPOST() 실행 ");
		
		// 전달정보 저장(파라메터-userid,userpw)
		logger.debug(" 전달정보 : "+vo);
		// 디비접근 -> 서비스접근 - 로그인 처리
		MemberVO resultVO = mService.memberLogin(vo);
		
		// 로그인 결과에 따른 페이지 이동
		if(resultVO != null) {
			// O -> /members/main 페이지 호출(리다이렉트), 세션 아이디정보 저장
			session.setAttribute("id", resultVO.getUserid());
			return "redirect:/members/main";
		}else {
			// X -> /members/login 페이지 호출(리다이렉트)		
			return "redirect:/members/login";
		}
		
	}

// http://localhost:8088/members/main
	// 메인페이지 
	@RequestMapping(value = "/main",method = RequestMethod.GET)
	public void mainGET() {
		logger.debug("/members/main 호출  -> mainGET()실행");
		
		logger.debug("/members/main.jsp 뷰페이지 이동");
	}

 

 

main.jsp

	<h1>/members/main.jsp</h1>
	<!-- 로그인 여부(세션정보)에 따라서 페이지 이동 (JSTL) -->
	
	<c:if test="${sessionScope.id == null}" >
		<c:redirect url="/members/login"/>
	</c:if>
    
    <h2>${id }님 안녕하세요!</h2>
	
	<input type="button" value="로그아웃">

 

컨트롤러로 가서

// http://localhost:8088/members/main 을 누르면

 

 

로그아웃 동작

Controller

	// 로그아웃 
	@RequestMapping(value = "/logout",method = RequestMethod.GET)
	public String memberLogoutGET(HttpSession session) {
		logger.debug("/members/logout 호출 -> memberLogoutGET() 실행");
		
    	// 세션정보 초기화
		session.invalidate();
		// 페이지 이동(메인페이지)
		return "redirect:/members/main";
	}

 

 

main.jsp

	<h1>/members/main.jsp</h1>
	<!-- 로그인 여부(세션정보)에 따라서 페이지 이동 (JSTL) -->
	
	<c:if test="${sessionScope.id == null}" >
		<c:redirect url="/members/login"/>
	</c:if>
	
	<h2>${id }님 안녕하세요!</h2>
	
	<input type="button" value="로그아웃" onclick="location.href='/members/logout';">
	<a herf="javascript:location.href='/members/logout';">로그아웃</a>
	
	
	<hr>