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>