본문 바로가기

BackEnd/JSP

[JSP 웹 프로그래밍] 쿠키 2 (Cookie 정보 얻기, 삭제)

728x90
반응형

https://bobo12.tistory.com/259

 

[JSP 웹 프로그래밍] 쿠키 1 (Cookie 생성)

1. 쿠키(cookie) ▷ 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법 ▷ 쿠키는 세션과 달리 상태 정보를 웹 서버가 아닌 클라이언트에 저장 ▶ 예를 들어 어떤 웹 사이트를 처음 방문

bobo12.tistory.com

 

쿠키에 대한 내용 이어서 해볼게요~

 

3. 쿠키 정보

◎ 쿠키 객체 얻기
   ▷ 클라이언트에 저장된 모든 쿠키 객체를 가져오려면 request 내장 객체의 getCookies( ) 메소드를 사용
   ▷ 쿠키 객체가 여러 개일 때는 배열 형태로 가져옴

 

◎ 쿠키 객체의 정보 얻기
   ▷ 쿠키 객체를 얻어왔다면 이 쿠키 객체에 저장된 쿠키 이름과 값을 가져오기 위해 getName( ), getValue( ) 메소드를 사용

 

◎ 쿠키 객체에 저장된 모든 쿠키 값 가져와 출력하기

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Cookie</title>
</head>
<body>
	<% Cookie[] cookies = request.getCookies();
		out.println("현재 설정된 쿠키의 개수 => " + cookies.length + "<br>");
		out.println("================================");
		for(int i=0; i<cookies.length; i++){
			out.println("설정된 쿠키의 속성 이름 [ " + i + " ] : " + 
			cookies[i].getName() + "<br>");
			out.println("설정된 쿠키의 속성 값 [ " + i + " ] : " + 
			cookies[i].getValue() + "<br>");
			out.println("-------------------------------<br>");
		}
	%>
</body>
</html>​


 

 

◎ 쿠키 삭제
   ▷ 쿠키의 유효 기간을 결정하는 setMaxAge( ) 메소드에 유효 기간을 0으로 설정하여 쿠키를 삭제할 수 있음
   ▷ setMaxAge( ) 메소드의 형식

 

◎ 쿠키 객체에 저장된 모든 쿠키 삭제하기 예제

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Cookie</title>
</head>
<body>
	<% Cookie[] cookies = request.getCookies();
	
		for(int i=0; i<cookies.length; i++){
			cookies[i].setMaxAge(0);
			response.addCookie(cookies[i]);
		}
			response.sendRedirect("cookie02.jsp");
	%>
</body>
</html>

 

 

 

getCookies( ) 메소드를 이용해서 클라이언트에 저장된 쿠키들을 모두 불러올 수 있네요!

쿠키가 여러개면 배열로 받아오고 for문을 이용해서 출력하면 되네요!!

 

쿠키를 삭제할 때는 setMaxAge(0) 메소드을 통해 유효시간을 0으로 만들면 모든 쿠키 값들이 삭제되네요!!

 

쿠키 값들을 가져와서 나타내고 쿠키를 삭제하는 방법을 구현해보았습니다.

 

인터넷에서는 쿠키 값들을 x표시 하나로만 삭제할 수 있었는데 이런 원리를 통해서 쿠키 값들을 생성, 삭제하나봐요!!

 

보면 볼수록 신기하네요ㅎㅎ

 

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

728x90
반응형