Spring

Spring - Cookie

J휘 2024. 10. 18. 20:52

Cookie

- 브라우저에 저장되는 데이터 조각, 주로 사용자를 식별하고 상태정보를 기억하는데 사용된다.

(게임 아이템 설명같네)

- 쿠키는 클라이언트(브라우저)의 로컬저장소에 저장된다.

# 사용자의 개인 컴퓨터에 저장된다는 뜻

- 저장된 쿠키정보는 서버에 http요청 시 헤더에 담겨 함께 전송된다. (F12 - Network - 좌측 네트워크 요청 선택해서 확인)

# 쿠키는 보안성이 낮고 개인정보 유출에 취약해서 중요정보를 저장하는데 쓰려면 보안적인 조치가 필요함

 

쿠키생성

@RequestMapping("create")
	public String create(HttpServletResponse response) {
		//쿠키는 객체를 생성한 다음 응답정보에 첨부할 수 있다.
		//name, value속성을 필수로 작성해야한다.
		Cookie ck = new Cookie("test", "홍길동");
		response.addCookie(ck);

		return "cookie/create";
	}

test라는 이름의 쿠키에 "홍길동" 값을 설정


쿠키삭제

쿠키는 따로 삭제 명령어가 없어서 쿠키의 유효기간을 0초로 설정해서 삭제를 대신해야함

@RequestMapping("delete")
	public String delete(HttpServletResponse response) {
		//쿠키는 삭제 명령어가 따로 없음
		Cookie ck = new Cookie("test", "홍길동");
		ck.setMaxAge(0);
		response.addCookie(ck);
		
		return "cookie/delete";
	}

cookie/delete라는 view를 리턴하면 ViewResolver가 이에 맞는 view위치를 ServletContainer에게 전달해준다!

그리고 사실 cookie/delete라는 값은 올바른 위치가 아닌데

잘린 폴더위치의 앞뒤는 servlet-context.xml에  앞뒤를 따로 자동으로 붙게 bean등록했다