seong

(9)블로그만들기 - 쿠키에 저장 된 값 Request Header에 담아 가져가기(로그인) 본문

Spring/블로그 만들기

(9)블로그만들기 - 쿠키에 저장 된 값 Request Header에 담아 가져가기(로그인)

hyeonseong 2022. 9. 16. 12:44

브라우저는 기본적으로 저장된 쿠키를 가지고 간다.

Request Header에 필요한 정보를 담아서 필요한 데이터를 View에 뿌려줘보자

쿠키 함수

cookie.getValue() // 쿠키에 설정된 값
cookie.getName() // 쿠키의 키(이름)
cookie.setMaxAge() // 쿠키의 유효기간 설정

Controller에서 Form으로 이동할 때 가져가는 코드 작성.

  • "로그인 폼으로 이동할게요" 라는 요청이기 때문에 HTTP의 Request 받는다.
  • 그리고 쿠키는 타입이 배열이다. 
  • 배열에 쿠키를 담고, for문으로 필요 부분을 model에 담아준다. 
  • 지금은 username만 필요하기 때문에 username을 담아서 간다.
	@GetMapping("/loginForm")
	public String loginForm(Model model,HttpServletRequest request) { // 쿠키 가져가기
		Cookie[] cookies = request.getCookies();
		for(Cookie cookie : cookies) {
			if(cookie.getName().equals("username")) { // 로그인할 때 쿠키 키 값 username으로 설정 했기 때문에 username
				model.addAttribute(cookie.getName(),cookie.getValue()); //cookie.getName()은 키 값 "username"으로 줘도 된다.
			}
			System.out.println("==================");
			System.out.println(cookie.getName()); 
			System.out.println(cookie.getValue());
			System.out.println("==================");
		}
		return "users/loginForm";
	}

쿠키 값을 가져 왔으면 이제 jsp에 아이디 에 value값으로 쿠키 값을 넣어주면 된다. 

확인

cos로 로그인 하고, Remember박스를 체크 해주고 로그인

 

로그아웃 하고 다시 로그인을 눌러보면 cos가 자동으로 들어가있고,

개발자 모드로 쿠키 값을 확인을 해보면 cos가 들어가있다.