Cookie&Session

[Cookie] 최근 본 상품 내역 출력

퓨어맨 2022. 5. 16. 10:01
<%@page import="java.net.URLDecoder"%>
<%@ 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>
	<ul>
		<li> <a href="ex04mouse.jsp">마우스</a> </li>
		<li> <a href="ex04phone.jsp">갤럭시 S22</a> </li>
		<li> <a href="ex04computer.jsp">사무용 PC</a> </li>
	</ul>
	
	<hr>
	
	<h2>최근 본 상품</h2>
	<%
		// 쿠키들 가져오기
		Cookie[] cookies = request.getCookies();
	
		// 쿠키 출력
		for( Cookie c : cookies ){
			
			// 쿠키 이름
			String name = c.getName();
			
			// 조건문으로 필요한 쿠키만 출력
			if(name.contains("item")){
				
				// 쿠키 값 가져오기
				String value = c.getValue();
				
				// 디코딩
				value = URLDecoder.decode(value, "utf-8");
				
				out.print("<p>"+ value + "</p>");
				
			}
			
			
		}
	
	%>

</body>
</html>

 

정보 클릭하기 전 화면

 

<%@page import="java.net.URLEncoder"%>
<%@ 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>
	<%
		// 쿠키 생성
		String data = "사무용 PC";
		String encoded = URLEncoder.encode(data, "utf-8");
		Cookie cookie = new Cookie("computer_item", encoded);
		
		cookie.setMaxAge(60*60);
	
		response.addCookie(cookie);
		
		out.print("사무용 PC에 대한 상세 페이지입니다." + "<br>");
		out.print("모델명: 사무용 PC" + "<br>");
		out.print("제품가격: 159,000원" + "<br>");
	
	%>
	<a href="ex04list.jsp">판매 목록 페이지</a>
</body>
</html>

 

 

<%@page import="java.net.URLEncoder"%>
<%@page import="java.net.URLDecoder"%>
<%@ 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>
	<%
		// 마우스 정보를 담고 있는 쿠키 생성
		String data = "로지텍 게이밍 마우스";
	
		// URL방식 인코딩
		String encoded = URLEncoder.encode(data, "utf-8");
		
		// 쿠키 생성
		Cookie cookie = new Cookie("mouse_item", encoded);
		
		// 유효기간 설정
		cookie.setMaxAge(60*60);
		
		// 응답에 쿠키 추가
		response.addCookie(cookie);
		
		out.print("마우스에 대한 상세 페이지입니다." + "<br>");
		out.print("모델명: 로지텍 게이밍 마우스" + "<br>");
		out.print("제품가격: 21,900원" + "<br>");
		
	%>
	
	<a href= "ex04list.jsp">판매 목록 페이지</a>
</body>
</html>

 

<%@page import="java.net.URLEncoder"%>
<%@ 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>
	<%
		String encoded = URLEncoder.encode("갤럭시 S22 5G", "utf-8");
		Cookie cookie = new Cookie("phone_item", encoded);
		
		cookie.setMaxAge(60*60);

		response.addCookie(cookie);
		
		out.print("갤럭시 S22 5G에 대한 상세 페이지입니다." + "<br>");
		out.print("모델명: 갤럭시 S22" + "<br>");
		out.print("제품가격: 1,397,000원" + "<br>");
	%>
	
	<a href="ex04list.jsp">판매 목록 페이지</a>
</body>
</html>

 

 

쿠키 생성됐는지 확인

 

정보들을 다 클릭한 후 결과화면

1시간뒤 최근 본 상품 내역은 지워짐

'Cookie&Session' 카테고리의 다른 글

[Session] 세션 조회  (0) 2022.05.16
[Session] 세션 생성  (0) 2022.05.16
[Cookie] 쿠키 수정  (0) 2022.05.16
[Cookie] 쿠키 조회  (0) 2022.05.16
[Cookie] 쿠키 생성  (0) 2022.05.16