gwooden_코린이

이클립스 JSP/서블릿 쿠키(Cookie) 본문

JSP&Servlet

이클립스 JSP/서블릿 쿠키(Cookie)

gwooden22 2023. 1. 20. 15:39
728x90

1. 쿠키 (Cookie)

서버측에서 생성 -> 보관은 클라이언트에 저장

 

- 쿠키 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>쿠키를 생성하는 페이지</h1>
	
	<%
		Cookie c = new Cookie("id", "jsp");
	
		c.setMaxAge(365 * 24 * 60 * 60); //1년 유효기간 설정
		
		response.addCookie(c);
		
		
		/* 
		Cookie c = new Cookie("id", "jsp");
		response.addCookie(c); 
		
		위 2 코드가 합쳐진게 아래 코드  
		*/
		response.addCookie(new Cookie("pw", "1234"));
	%>
</body>
</html>


- 쿠키 출력

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>쿠키 출력 페이지</h1>
	
	<%
		Cookie[] cookies = request.getCookies();
	
		for(Cookie c : cookies) {
			out.print(c.getName() + " = " + c.getValue() + "<br>");
		}
	%>
</body>
</html>


- 쿠키 유효기간 출력

out.print("유효기간 : " + c.getMaxAge() + "<br>");


웹 브라우저를 종료 시키고 서버를 재식하면 유효기간이 설정되어있지 않은 쿠키는 사라지고 유효기간이 설정된 쿠기만 남아있는다.


- 쿠키 삭제

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>쿠키 출력 페이지</h1>
	
	<%
		Cookie[] cookies = request.getCookies();
	
		for(Cookie c : cookies) {
			out.print(c.getName() + " = " + c.getValue() + "<br>");
			out.print("유효기간 : " + c.getMaxAge() + "<br>");
		}
	%>
</body>
</html>

크롬 개인 정보 설정에서도 쿠키 데이터를 삭제하면 아래 처럼 오류 페이지가 나오게 된다.

728x90
Comments