Client의 정보를 유지하기 위해 사용하는 방법
// new Cookie("쿠키이름","쿠키 값");
// 쿠키의 값이 한글이라면 인코딩 필요 -> URLEncoder 객체 사용
Cookie cookie = new Cookie("name",URLEncoder.encode("허광영", "UTF-8"));
// 2. 쿠키 기한 설정
// 양수 : 초 단위로 해당 시간만큼 쿠키 유지
// 음수 : 브라우저 종료 시 쿠키 제거 (기본값)
// 0 : 제거(만료, 삭제)
cookie.setMaxAge(60*60);
// 쿠키는 응답할 때 전송되므로, response객체 사용
response.addCookie(cookie);
// 서버가 요청하지 않아도 쿠키는 request객체에 담겨서 옴
// 배열 형태로 반환한다.
Cookie[] cookies = request.getCookies();
// URLDecoder.decode("디코딩할 값", "디코딩 방식")
// 쿠키는 기본 디코딩을 지원하지 않기 때문에 조회 시 디코딩이 필요하다.
String value = URLDecoder.decode(cookies['인덱스번호'].getValue(), "UTF-8");
Client의 정보를 유지하기 위해 사용하는 방법
HttpSession session = request.getSession();
// session의 값은 Object -> 모든 객체 담을 수 있다!!!
// session의 이름이 중복될 경우 덮어쓰기 된다
session.setAttribute("name", "허광영");
// 단위 : 초
session.setMaxInactiveInterval(60*60);
// session도 내장 객체이기 때문에 jsp에서 객체생성x
String name = (String)session.getAttribute("name");
String age = (String)session.getAttribute("age");
// 특정 Session 삭제
session.removeAttribute("age");
// 모든 Session 종료
session.invalidate();