[Spring]Cookie와 활용법(읽기, 생성 및 저장)
2021. 9. 20. 17:35ㆍ프로그래밍/web
쿠키란 ?
쿠키란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다. (출처: 위키백과)
쿠키의 구조
유효기간 : 유효기간이 지나면 쿠키 데이터가 소멸됨.
도메인 : 현재 쿠키가 어떤 서버로 전송되어져야 하는지 지정하는 속성.
path : path로 지정한 곳에서 쿠키 데이터르 읽을 수 있음. 디폴트 값으로 쿠키를 생성한 곳에서만 쿠키를 읽을 수 있게 되어있음.
Spring Controller에서 쿠키 생성.
@RequestMapping("/createCookie")
public String createCookie(HttpServletResponse response) {
logger.info("쿠키 생성");
Cookie cookie = new Cookie("useremail","blueskii");
cookie.setDomain("localhost");
cookie.setPath("/");
// 30초간 저장
cookie.setMaxAge(30*60);
cookie.setSecure(true);
response.addCookie(cookie);
return "redirect:/ch05/content";
}
4. 쿠키 객체 생성
6,7,9,10 쿠키 객체 domain, path, expire, secure 설정.
11 쿠키 객체를 response에 담아서 보내줌.
크롬에서 inspect -> application 에서 쿠키가 정상적으로 생성된 것 확인 가능.
spring controller에서 쿠키 읽기
방법 1)
@RequestMapping("/getCookie1")
public String getCookie1(@CookieValue String useremail, @CookieValue("useremail") String umail) {
logger.info("실행");
logger.info(umail);
return "redirect:/ch05/content";
}
2 annotation을 통해서 cookieValue를 손쉽게 가져올수 있음.
방법 2)
@RequestMapping("/getCookie2")
public String getCookie2(HttpServletRequest request) {
Cookie[] list = request.getCookies();
for(Cookie cookie:list) {
if(cookie.getName().equals("useremail")) {
logger.info(cookie.getValue());
}
}
return "redirect:/ch05/content";
}
httpServletRequest 객체를 통해서 쿠키 리스트를 가져오고, 그 중에서 name을 생성할때 설정한 useremail을 통해서 가져올 수 있음.
JavaScript에서 쿠키 읽기
function getCookie() {
console.log(document.cookie);
}
'프로그래밍 > web' 카테고리의 다른 글
HTTP 자주 나오는 응답코드 정리 (0) | 2022.01.13 |
---|---|
[Spring boot] 분산 트랜젝션 (0) | 2021.12.07 |
[JAVA] abstract class vs interface (0) | 2021.08.02 |
[Spring] Spring MVC framework를 사용한 웹은 어떻게 작동할까? (0) | 2021.07.19 |
[Spring Boot] 댜양한 의존 관계 주입 DI 방법 (0) | 2021.07.01 |