books.jsp

<%@ page cont
entType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Books Page</title>
</head>
<body>
<%
//從Cookie中獲取瀏覽記錄
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length >0 ){
for(Cookie cookie : cookies){
if(cookie.getName().startsWith("Nchu_")){
response.getWriter().println(""+cookie.getValue());
}
}
}
%>
<br>
<br>
<a href="book.jsp?book=JavaWeb">JavaWeb</a><br><br>
<a href="book.jsp?book=Java">Java</a><br><br>
<a href="book.jsp?book=Orcle">Orcle</a><br><br>
<a href="book.jsp?book=Mysql">Mysql</a><br><br>
<a href="book.jsp?book=Ajax">Ajax</a><br><br>
<a href="book.jsp?book=Spring">Spring</a><br><br>
</body>
</html>
book.jsp
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>BookDeatil Page</title>
</head>
<body>
<br>
<br>
Book: <%= request.getParameter("book")
%>
<%
//通過request獲取books頁面的請求數據
String book = request.getParameter("book");
//獲取瀏覽器一次會話的所有cookie
Cookie[] cookies = request.getCookies();
//用於存放匹配“Nchu_”前綴的cookie
List<Cookie> nchuCookies = new ArrayList<Cookie>();
//要刪除的cookie
Cookie tempCookie = null;
if(cookies.length > 0 && cookies != null){
for(Cookie coo : cookies){
String cookieName = coo.getName();
//獲取匹配"Nchu_"的cookie
if(cookieName.startsWith("Nchu_")){
nchuCookies.add(coo);
if(coo.getValue().equals(book)){
tempCookie = coo;
}
}
}
}
//如果匹配的cookie的數量大於等於五,判斷tempCookie是否為空,若為空刪除第一個,如不為空當前刪除
if(nchuCookies.size() >= 5 && tempCookie == null){
tempCookie = nchuCookies.get(0);
}
//有相同的cookie都要把這個cookie刪除
if(tempCookie != null ){
tempCookie.setMaxAge(0);
response.addCookie(tempCookie);
}
//將books頁面傳過來的值放入Cookie中
Cookie cookie = new Cookie("Nchu_"+book,book);
response.addCookie(cookie);
%>
<br>
<a href="books.jsp">Return</a>
</body>
</html>