반응형
쿠키(Cookie)
웹 브라우저에서 서버로 어떠한 데이터를 요청하면, 서버에서는 알맞은 로직을 수행하고 데이터를 웹 브라우저로 응답함
그리고 HTTP 프로토콜은 응답 후 웹 브라우저와의 관계를 종료함
관계가 종료되고 특정 데이터를 지속적으로 유지시키기 위한 수단으로 사용
쿠키는 서버에서 생성해 jsp 페이지에서 가지고 있다가
클라이언트(웹 브라우저)로부터 요청이 들어오면 응답을 줄 때 쿠키를 추가하여 데이터를 전달
쿠키를 받은 웹 브라우저는 쿠키를 세팅하라는 명령을 받고 내부의 쿠키 저장소에 해당 쿠키 값 저장
이렇게 저장된 쿠키는 해당 서버에 요청할 때마다 쿠키를 포함하여 보냄
쿠키의 생성 방법
--Cookie_make.jsp(전달)--
1. 쿠키 객체를 생성하고 파라미터에 쿠키의 이름과 저장할 데이터를 입력
Cookie peanut = new Cookie("peanut_cookie", "peanutfavor"); // (name 값, value 값)
2. 쿠키의 setter 메서드로 쿠키의 유효시간을 설정
peanut.setMaxAge(20); // 초 단위
파라미터 내부의 숫자는 초 단위로 한달(30일)로 설정하고자 하면 (60 * 60 * 24 * 30) 로 작성
3. response 객체에 쿠키를 추가해 클라이언트에 전달하면 사용자의 웹 브라우저에 해당 정보가 저장됨
response.addCookie(peanut);
4. 쿠키를 확인하기 위한 링크
<a href = "Cookie_check.jsp">쿠키 확인</a>
--Cookie_check.jsp(수신)--
5. 클라이언트에 저장된 쿠키 조회
request.getCookies();
메서드는 response.addCookie()로 발급된 쿠키 전체 목록을 불러옴
Cookie [] cookies = request.getCookies();
쿠키의 전체 목록을 배열형태로 데이터 받음
6. 반복문을 사용해서 해당 쿠키의 name 값과 value 값 조회
String cookieName = null;
String cookieValue = null;
boolean still = false; // cookie의 유효시간 확인
for(Cookie cookieInfo : cookies){
cookieName = cookieInfo.getName(); // cookie name 값
if(cookieName.equals("peanut_cookie")){
out.println("I have peanut cookie:).<br>");
cookieValue = cookieInfo.getValue(); // cookie value 값
out.println("The peanut cookie is " + cookieValue + ".");
still = true;
break;
}
}
if(!still){ // cookie 유효시간 종료
out.println("I don't have peanut cookie :(.<br>");
}
출력
쿠키 유효시간 만료 전
쿠키 유효시간 만료 후
'Java 및 JSP' 카테고리의 다른 글
[JSP] 에러(error) - 톰캣 서버 예외 상황 처리 (0) | 2021.08.08 |
---|---|
[JSP] 세션(Session) (0) | 2021.08.07 |
[JSP] Mac Tomcat 실행 에러 발생 해결 (0) | 2021.08.04 |
[JSP] 내장 객체 - Response (0) | 2021.08.03 |
[JSP] Request 파라미터 값 전달 (0) | 2021.08.02 |