JavaWeb_利用Cookie显示最近浏览的商品
利用Cookie显示最近浏览的商品
- 1.显示最近浏览的 5 本书的 name
- 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>