금융에 대한 모든 것

JSP 쿠키란?

 쿠키는 브라우저가 보관하는 데이터 유형입니다. 브라우저는 서버에 정보 요청을 보낼 쿠키를 함께 전송하고 , 서버에서도 브라우저로 응답할 쿠키 정보도 같이 전송합니다. 이런 방식으로 브라우저와 서버가 쿠키를 통해 정보를 공유할 있게 됩니다.

JSP 쿠키의 동작 방식

 쿠키의 동작은 쿠키 생성, 쿠키 저장, 쿠키 전송 세가지 동작으로 구분할 있습니다. 먼저 쿠키는 서버에서 생성합니다.

 

예시

Cookie cookie = new Cookie("key", "value");
response.addCookie(cookie);

쿠키는 key-value 값을 인자로 받아서 객체를 생성하고  쿠키 객체를  브라우저에 응답 정보로 보내는 코드입니다.  브라우저에서는 응답 정보로 전송된 쿠키 정보를 특별한 쿠키 저장소에 저장합니다.

 

 

JSP 요청 정보에서 쿠키 읽기

사용자에 의해 쿠키 저장소에는 쿠키 정보들이 쌓이고 브라우저가 요청 정보를 보낼 쿠키 정보들을 서버로 보내게 됩니다.

 

예시

Cookie[] cookieArr = request.getCookie();

 코드를 통해  브라우저에서 전송된 쿠키 정보들을 읽어서 쿠키 정보 하나하나를 배열에 넣습니다.

 

 

JSP 쿠키 변경

 쿠키 값을 변경하기 위해서는 먼저 쿠키 값이 존재하는지 부터 확인해야 합니다

 

쿠키  확인, 변경

Cookie[] cookieArr = request.getCookie();

// 쿠키 값이 존재하는지 확인
if (cookieArr != null && cookieArr.length > 0) {
    for (int i = 0; i < cookieArr.length; i++) { 
        // 변경하고자 하는 쿠키를 찾아 변경
        if (cookieArr[i].getName().equals("key")) {
            Cookie cookie = new Cookie("key", "change");
            response.addCookie(cookie);
        }
    }
}

 

먼저 if문으로 배열에 쿠키 정보들이 들어있는지 확인  , 변경하고자 하는 key이름과 연결된 값을 변경하고 있는 모습입니다

 

JSP 쿠키 삭제

 쿠키 값을 삭제하기 위해서는 setMaxAge 메서드를 이용합니다.

 

예시

cookie.setMaxAge(0);
response.addCookie(cookie);

 setMaxAge 메서드는 쿠키의 유효시간을 설정하는 메서드로써 인자를 0 주게 되면 해당 쿠키가 사라지게 하는 효과를   있습니다.

 

JSP 쿠키 관련 메서드

 그 이외의 쿠키와 관련된 메서드들은 아래와 같습니다.

 

메서드명 

리턴 타입

설명

getName()

String

쿠키 이름을 반환합니다.

getValue(0

String

쿠키 값을 반환합니다.

setMaxAge(int time)

void

쿠키의 유효시간을 지정합니다.

setValue(String value)

void

쿠키 값을 지정합니다.

setDomain(String url))

void

쿠키가 전송될 도메인을 지정합니다.

getDomain() 

String

쿠키의 도메인을 반환합니다.

setPath(String url)

void

쿠키를 전송할 경로를 지정합니다.

getPath()

String

쿠키의 전송 경로를 반환합니다.

 

반응형