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

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

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

  • 1.显示最近浏览的 5 本书的 name
    book
  • 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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值