Backend/Spring

Spring - 쿠키 생성/삭제/가져오기

둉이 2021. 12. 9. 05:10

 

Spring에서의 쿠키 생성과 삭제는 HttpServletResponse 객체를 통해 이루어진다.

 

쿠키 생성

import javax.servlet.http.Cookie;

@RequestMapping(value = "/admin/adminLoginProcess.do", method = RequestMethod.POST)
public ModelAndView login(HttpServletRequest req, HttpServletResponse response, ModelAndView mv) throws Exception {
  Cookie myCookie = new Cookie("userID", (String) params.get("id"));
  myCookie.setMaxAge(24 * 30 * 60 * 60 * 1000);  // 30일동안 유효
  response.addCookie(myCookie);
}

 

 

쿠키 삭제

import javax.servlet.http.Cookie;


@RequestMapping(value = "/admin/adminLoginProcess.do", method = RequestMethod.POST)
public ModelAndView login(HttpServletRequest req, HttpServletResponse response, ModelAndView mv) throws Exception {
  Cookie myCookie = new Cookie("userID", null);  // 쿠키 값을 null로 설정
  myCookie.setMaxAge(0);  // 남은 만료시간을 0으로 설정
  response.addCookie(myCookie);
}

 

생성된 쿠키는 HttpServletRequest 객체를 통해 가져올 수 있다.

@RequestMapping(value = "/admin/adminLoginForm.do")
public ModelAndView adminLoginForm(HttpServletRequest req, ModelAndView mv) throws Exception {
  Cookie[] cookies = req.getCookies();
  
  for(Cookie c : cookies) {
  	sout(c.getName());  // 쿠키 이름 가져오기
  	sout(c.getValue());  // 쿠키 값 가져오기
  }
}