JavaWeb同步学习笔记之四十二、JavaWeb_利用Cookie显示最近浏览的商品

JavaWeb_利用Cookie显示最近浏览的商品

利用Cookie显示最近浏览的商品

  • 1.显示最近浏览的 5 本书的 name
    JavaWeb同步学习笔记之四十二、JavaWeb_利用Cookie显示最近浏览的商品
  • 2.具体代码:
    books.jsp
<%@ 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>

	<!--  
		利用 Cookie 实现 "您浏览过的图书有: x, y, z", 只显示最近浏览的 3 本图书的信息
		且支持 Cookie 的持久化. 其余的 Cookie 被删除: 调用其 setMaxAge() 方法, 传入
		0 即可。
	-->

	<h4>Books Page</h4>

	<a href="book.jsp?book=JavaWeb">Java Web</a>
	<br>
	<br>
	<a href="book.jsp?book=Java">Java</a>
	<br>
	<br>
	<a href="book.jsp?book=Oracle">Oracle</a>
	<br>
	<br>
	<a href="book.jsp?book=Ajax">Ajax</a>
	<br>
	<br>
	<a href="book.jsp?book=JavaScript">JavaScript</a>
	<br>
	<br>
	<a href="book.jsp?book=Android">Android</a>
	<br>
	<br>
	<a href="book.jsp?book=Jbpm">Jbpm</a>
	<br>
	<br>
	<a href="book.jsp?book=Struts">Struts</a>
	<br>
	<br>
	<a href="book.jsp?book=Hibernate">Hibernate</a>
	<br>
	<br>
	<a href="book.jsp?book=Spring">Spring</a>
	<br>
	<br>	
	<%
		Cookie[] cookies = request.getCookies();
		if(cookies != null && cookies.length > 0){
			for(Cookie cookie: cookies){
				String cookiename = cookie.getName();
				if(cookiename.startsWith("ATGUIGU_BOOK_")){
					out.print(cookie.getValue());
					out.print("<br>");
				}
			}
		}
	%>
</body>
</html>

book.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ 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>

	<h4>Book Detail Page</h4>
	Book: <%= request.getParameter("book") %>
	<br><br>
	<a href="books.jsp">Return</a>
	<%
		String book = request.getParameter("book");
		Cookie[] cookies = request.getCookies();
		List<Cookie> bookCookies = new ArrayList<Cookie>();
		Cookie tempCookie = null;
		if(cookies != null && cookies.length > 0){
			for(Cookie cookie: cookies){
				String cookiename = cookie.getName();
				if(cookiename.startsWith("BOOK_")){
					bookCookies.add(cookie);
					if(cookie.getValue().equals(book)){
						tempCookie = cookie;
					}
				}
			}
		}
		if(bookCookies.size() >= 5 && tempCookie == null){
			tempCookie = bookCookies.get(0);
		}
		if(tempCookie != null){
			tempCookie.setMaxAge(0);
			response.addCookie(tempCookie);
		}
		Cookie cookie = new Cookie("BOOK_" + book,book);
		response.addCookie(cookie);
	%>
</body>
</html>