상세 컨텐츠

본문 제목

JSP 세션 트래킹 ( 쿠키 실습 - 쇼핑몰 장바구니 )

FrontEnd/JSP (JavaServerPage)

by H_Develop 2022. 8. 25. 18:47

본문

쿠키 실습 (쇼핑몰 장바구니 같은 곳에 사용)

프로젝트 생성 후, jsp 파일 3개 생성

 

SessionTracking 프로젝트 생성

 

 

 

 

A.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<!-- 외부 파일을 붙인다 -->
<%@ include file="history.jsp" %>
<%	// 방문정보를 쿠키에 기록
	Cookie cookie = new Cookie("A", "A.jsp");
	response.addCookie(cookie);
%>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
	A.jsp에 방문해주셔서 감사합니다. <br>
    <a href="B.jsp">B</a>
</body>
</html>

 

 

B.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<!-- 외부 파일을 붙인다 -->
<%@ include file="history.jsp" %>
<%	// 방문정보를 쿠키에 기록
	Cookie cookie = new Cookie("B", "B.jsp");
	response.addCookie(cookie);
%>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
	B.jsp에 방문해주셔서 감사합니다. <br>
    <a href="C.jsp">C</a>
</body>
</html>

 

 

C.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<!-- 외부 파일을 붙인다 -->
<%@ include file="history.jsp" %>
<%	// 방문정보를 쿠키에 기록
	Cookie cookie = new Cookie("C", "C.jsp");
	response.addCookie(cookie);
%>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
	C.jsp에 방문해주셔서 감사합니다. <br>
    <a href="A.jsp">A</a>
</body>
</html>

 

 

history.jsp 생성

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
	#box {position:absolute; left:300px; top:50px; width:200px; 
    		height:300px; border:2px solid red; background:white;}
</style>
</head>
<body>
	<div id="box">
    	최근 방문 페이지
	</div>
</body>
</html>

 

history 실행 후, F12 개발자 도구 들어가서,

상단 Network 탭에서 오른쪽으로 옮기면 Application이 있는데, 누르면 왼쪽에

Cookies > 페이지 주소를 클릭하면 들어갈 때마다 Value가 달라진다.

 

C.jsp 실행하여 똑같이 Cookies에 들어가서

A, B, C 있는 것을 확인하고 브라우저를 껐다가 다시 실행하면 A, B는 사라진다.

브라우저를 종료하면 쿠키도 같이 종료되기 때문에 현재 실행한 C만 보이게 된다. (쿠키는 지속성이 없기 때문이다.)

 

 

 

B.jsp 에 내용을 추가한다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<!-- 외부 파일을 붙인다 -->
<%@ include file="history.jsp" %>
<%	// 방문정보를 쿠키에 기록
	Cookie cookie = new Cookie("B", "B.jsp");
    cookie.setMaxAge(2*60);	// 초단위, 2분간 유지하라는 뜻이다.
	response.addCookie(cookie);
%>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
	B.jsp에 방문해주셔서 감사합니다. <br>
    <a href="C.jsp">C</a>
</body>
</html>

 

저장 후, A를 실행하고 링크로 B > C로 넘어간다.

개발자 도구에서 옆에 늘려보면, B에는 언제까지 저장하겠다는 시간이 보인다. (Expires/Max-Age)

관련글 더보기