쿠키박스 클래스는 앞서 올린 login예제 에서 쿠키저장,삭제,조회 등을 보다 편리하게 사용하기위해 메소드를 담은 클래스이다. 이클래스의 생성자, 메소드를 이용해 좀더 보기좋은 login 예제로 바꿀 수 있다.
public class CookieBox {
private Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
//쿠키는 K, V형태로 데이터를 담는데, 멥이랑 다르게 탐색이 안되서 매번 for문을 돌아야된다.
그래서 쿠키들을 맵 형태로 관리하면 편리하다.
public CookieBox(HttpServletRequest request){
//현재존재하는 쿠키를 맵에 때려박기
Cookie[] cookies = request.getCookies();
if(cookies != null)
{
for(Cookie c : cookies)
{
cookieMap.put(c.getName(), c);
}
}
}
public Cookie getCookie(String name)
{
return cookieMap.get(name);
}
public String getValue(String name) throws UnsupportedEncodingException
{
Cookie cookie = cookieMap.get(name);
if(cookie == null)
return null;
return URLDecoder.decode(cookie.getValue(), "UTF-8");
}
public static Cookie createCookie(String name, String value)
throws UnsupportedEncodingException
{
Cookie cookie = new Cookie(name, URLEncoder.encode(value, "UTF-8"));
return cookie;
}
public static Cookie createCookie(String name, String value, int maxAge)
throws UnsupportedEncodingException
{
Cookie cookie = new Cookie(name, URLEncoder.encode(value, "UTF-8"));
cookie.setMaxAge(maxAge);
return cookie;
}
}
'[JSP]' 카테고리의 다른 글
[JSP] 10월 29일 세션(session) (0) | 2015.10.30 |
---|---|
[JSP]10월 28일 JSP에서 DB(데이터베이스)에 저장하기 예제. (0) | 2015.10.30 |
[JSP]10월 28일 forward, form, 쿠키(Cookie), 쿠키삭제 를 활용한 로그인 예제 (0) | 2015.10.29 |
[JSP]10월 27일 쿠키(Cookie), 쿠키 만들기, 쿠키읽기, 쿠키삭제 예제 (0) | 2015.10.29 |
[JSP]10월 27일 forward,form을 이용한 로그인 예제 (0) | 2015.10.29 |