Tag Archives: 쿠키유틸

CookieUtil Class

예전 게시판 만들다가 만들었던 쿠키 관련 유틸 클래스이다.
URLDecoder의 decode가 deprecation되었는데, 어떻게 강제로 해버렸다.
좀더 깔끔한 해결책 아시는분은 알려주시면 감사하겠습니다.

[CODE]import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CookieUtil
{
 public static boolean setCookie(HttpServletResponse response, String name, String value)
 {
  try
  {
   Cookie cookie = new Cookie(name, URLEncoder.encode(value, “EUC-KR”));
   cookie.setMaxAge(24*60*60);
   response.addCookie(cookie);
   
   return true;
  }
  catch (UnsupportedEncodingException e)
  {
   e.printStackTrace();
   
   return false;
  }
 }
 
 @SuppressWarnings(“deprecation”)
 public static String getCookie(HttpServletRequest request, String name)
 {
  Cookie[] cookies = request.getCookies();
  if(cookies == null)
  {
   return “”;
  }
 
  for(int i = 0 ; i < cookies.length ; i++)
  {
   if(cookies[i].getName().equals(name))
   {
    return URLDecoder.decode(cookies[i].getValue());
   }
  }
 
  return “”;
 }
}[/CODE]

사용할때는 비즈니스 로직에 다음과 같이 사용하면 되겠다.
쿠키를 저장할때 :
[CODE]CookieUtil.setCookie(response, “name”, boardForm.getName());
CookieUtil.setCookie(response, “email”, boardForm.getEmail());[/CODE]

쿠키를 읽어올때 :
[CODE]request.setAttribute(“name”, CookieUtil.getCookie(request, “name”));
request.setAttribute(“email”, CookieUtil.getCookie(request, “email”));[/CODE]