예전 게시판 만들다가 만들었던 쿠키 관련 유틸 클래스이다.
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]