Java/Java.JSP 프로그래밍

쿠키와 세션 관리

H_u 2024. 7. 4. 16:27
728x90
반응형
SMALL
💡 학습 목표!!

쿠키와 세션의 개념과 차이점을 이해한다.

JSP에서 쿠키와 세션을 설정하고 사용하는 방법을 익힌다.

웹 애플리케이션에서 사용자 데이터를 관리하는 방법을 배운다.

 

쿠키 개념과 사용법

쿠키(Cookie): 웹 브라우저에 저장되는 작은 데이터 조각입니다. 서버는 클라이언트에게 쿠키를 설정할 수 있으며, 이후 클라이언트는 해당 쿠키를 서버로 전송합니다. 쿠키는 주로 사용자 식별, 상태 유지, 개인 설정 등에 사용됩니다.

 

 

 

특징

  • 클라이언트(브라우저)에 저장됩니다.
  • 유효 기간을 설정할 수 있습니다.
  • 보안이 상대적으로 낮습니다.
  • 작은 데이터 저장 용량(약 4KB)을 가집니다.
 setCookie.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	String username = "홍길동";
	Cookie userCookie = new Cookie("username", username);
	/* 쿠키는 요청한 사용자 브라우저에 저장 된다. 
	   즉, setCookie.jsp 요청한 사용자에 response 객체로 데이터 조각을 담아서 보내
	   주어야 한다. 
	*/
	userCookie.setMaxAge(60 * 60 * 24);
	
	response.addCookie(userCookie);
%>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
		<h1>사용자가 이 페이지 요청시에 서버측에서 쿠키를 생성해서 응답 합니다.</h1>
		
		<a href="getCookie.jsp">쿠키 값 읽어 보는 페이지</a>
</body>
</html>

 

 

getCookie.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	Cookie[] cookies = request.getCookies();
	String cUsername = null; 
	if(cookies != null) {
		
		// 쿠키는 여러개 존재 가능 하다. 여기 페이지에서 필요한 
		// 쿠키는 우리가 정의한 username 이름을 가진 녀석이다. 
		
		for(Cookie c : cookies) {
			if(c.getName().equals("username")) {
				cUsername = c.getValue();
				break;
			}
		}
		
	}
	
%>        
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>쿠키 읽기</h2>
	<%
		if(cUsername != null) {
			out.println("<p> 안녕하세요 " + cUsername + " 님 </p>");
		} else {
			out.println("<p> 쿠키가 설정되지 않았습니다.</p>");
		}
	%>
		<a href="setCookie.jsp"> 쿠키 설정하러 가기 </a>		
</body>
</html>

728x90
반응형
SMALL