08-Cookie记录浏览历史 记录商品的浏览历史信息工具类: 1234567891011121314import javax.servlet.http.Cookie;public class CookieUtils { public static Cookie getCookie(Cookie[] cookies, String cookieName) { if (cookies != null && cookies.length != 0) { for (Cookie ck : cookies) { if (cookieName.equals(ck.getName())) { return ck; } } } return null; }} 历史记录核心逻辑: 123456789101112131415161718String id = request.getParameter("id");Cookie cookie = CookieUtils.getCookie(request.getCookies(), "history");if (null == cookie) { // 木有浏览记录:创建Cookie,并存储浏览记录 cookie = new Cookie("history", id);} else { // 有浏览记录 String history = cookie.getValue(); if (!history.contains(id)) { // 有浏览记录,不包含当前浏览商品:将浏览商品拼接到已有的浏览记录中 history += "-" + id; cookie.setValue(history); } // 有浏览记录,包含当前浏览商品则无需处理}response.addCookie(cookie);// 显示商品浏览记录,路径:/demo/showresponse.sendRedirect(request.getContextPath() + File.separator + "show"); 显示历史记录信息: 1234567891011121314151617181920// 获取商品浏览记录Cookie cookie = CookieUtils.getCookie(request.getCookies(), "history");StringBuffer respsb = new StringBuffer();if (null == cookie) { // 没有浏览记录 respsb.append("<font color='red'>没有浏览记录</font>,"); respsb.append("<a href='books.html'>浏览商品</a>");} else { // 有浏览记录: 0-1-2-3 String[] books = {"西游记", "红楼梦", "水浒传", "三国志"}; String history = cookie.getValue(); String[] historys = history.split("-"); respsb.append("您的浏览记录如下:<br>"); for (String index : historys) { String bookName = books[Integer.parseInt(index)]; respsb.append(bookName).append("<br>"); }}response.setContentType("text/html;charset=utf-8");response.getWriter().println(respsb); 点击第一个后: 08_框架技术 > 02_Spring > 06_Servlet #Servlet #Cookie 08-Cookie记录浏览历史 https://janycode.github.io/2017/05/22/08_框架技术/02_Spring/06_Servlet/08-Cookie记录浏览历史/ 作者 Jerry(姜源) 发布于 2017年5月22日 许可协议 🔗 复制链接 📢 分享到微博 🐦 分享到 Twitter 📘 分享到 Facebook 💬 分享到微信 微信扫一扫分享 × 打开微信扫一扫,点击右上角分享 06-Cookie原理 上一篇 09-Session原理 下一篇 Please enable JavaScript to view the comments