1. 쿠키 설정
다음과 같이 코드 코드를 복사합니다.
쿠키 쿠키 = new Cookie("키", "값");
쿠키.setMaxAge(60);
수명을 60초로 설정합니다. 음수 값으로 설정하면 브라우저 프로세스 쿠키(메모리에 저장됨)가 되며 브라우저를 닫으면 무효화됩니다.
다음과 같이 코드 코드를 복사합니다.
cookie.setPath("/test/test2");
쿠키 경로를 설정합니다. 설정하지 않으면 현재 경로가 됩니다(서블릿의 경우 request.getContextPath() + web.xml에 구성된 서블릿의 URL 패턴 경로 부분).
다음과 같이 코드 코드를 복사합니다.
response.addCookie(쿠키);
2. 쿠키 읽기
이 메소드는 현재 경로와 "직접 상위 경로"의 모든 Cookie 객체를 읽을 수 있습니다. 쿠키가 없으면 null을 반환합니다.
다음과 같이 코드 코드를 복사합니다.
쿠키[] 쿠키 = request.getCookies();
3.쿠키 삭제
다음과 같이 코드 코드를 복사합니다.
쿠키 쿠키 = new Cookie("key", null);
쿠키.setMaxAge(0);
쿠키를 즉시 삭제하려면 0으로 설정하세요.
다음과 같이 코드 코드를 복사합니다.
cookie.setPath("/test/test2");
지정된 경로의 쿠키를 삭제합니다. 경로가 설정되지 않은 경우 기본값은 현재 경로의 쿠키를 삭제하는 것입니다.
다음과 같이 코드 코드를 복사합니다.
response.addCookie(쿠키);
4. 참고: 경로 구조는 다음과 같다고 가정합니다.
다음과 같이 코드 코드를 복사합니다.
테스트/test2/test345/test555/test666
a. 동일한 키 이름(값은 동일하거나 다를 수 있음)을 가진 쿠키가 다른 경로에 존재할 수 있습니다.
b. 삭제 시 현재 경로 아래에 "key" 키를 가진 쿠키가 없으면 모든 상위 경로를 쿼리하고 검색 후 삭제 작업을 수행합니다(자신에게 가장 가까운 하나의 상위 경로 쿠키만 삭제할 수 있음). 한 번)
FF. 쿠키를 삭제하려면 쿠키를 설정할 때 사용한 것과 동일한 경로를 지정해야 하며, 쿠키 키 이름에는 대문자, 소문자 또는 크기 혼합에 관계없이 경로를 지정해야 합니다.
IE. 키 이름이 소문자일 때 현재 경로가 /test/test2이면 찾을 수 없으면 /test, /test555, /test345를 쿼리하고, 그래도 없으면 /를 쿼리합니다. (/test555/test666은 쿼리되지 않습니다)
키 이름이 대소문자 혼합 또는 대문자인 경우 경로를 지정하지 않으면 기본적으로 현재 경로가 삭제되고 상향 쿼리가 수행되지 않습니다.
c. 쿠키를 읽을 때 직접 상위 경로의 쿠키만 읽을 수 있습니다.
현재 경로가 /test/test2인 경우 읽을 키는 "key"입니다. 현재 경로를 읽은 후에는 /test도 읽어야 하고, /test를 읽은 후에는 /도 읽어야 합니다.
d. Java 웹 프로젝트 작업 시 일반 웹 서버(예: Tomcat 또는 Jetty)는 Context를 사용하여 다양한 WebApplication을 관리하므로 각 Context는 서로 다른 경로를 갖습니다.
서버에 여러 개의 웹 애플리케이션이 있는 경우 특히 주의하십시오. 경로가 /인 쿠키를 설정하지 마십시오. 오작동이 발생할 수 있습니다. (물론, 도메인 이름이 동일하다는 전제입니다)