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>

简单的Cookie记录浏览记录案例的更多相关文章

  1. cookie记录浏览记录

    cookie记录浏览记录 HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做 ...

  2. Cookie 简单使用记录浏览记录

    ItemsDAO.java package dao; import java.util.* ; import java.sql.* ; import util.DBHelper; import ent ...

  3. jquery.cookie.js结合asp.net实现最近浏览记录

    一.html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  4. js操作Cookie,实现历史浏览记录

    /** * history_teacher.jsp中的js,最近浏览名师 * @version: 1.0 * @author: mingming */ $(function(){ getHistory ...

  5. 会话技术之cookie(记录当前时间、浏览记录的记录和清除)

    cookie 会话技术: 当用户打开浏览器的时候,访问不同的资源,直到用户将浏览器关闭,可以认为这是一次会话. 作用: 因为http协议是一个无状态的协议,它不会记录上一次访问的内容.用户在访问过程中 ...

  6. Cookie实现商品浏览记录--方式二:JS实现

    使用Cookie实现商品浏览记录:方式二:JS方法实现cookie的获取以及写入.当某一个产品被点击时,触发JS方法.利用JS方法判断一下,此产品是否在浏览记录中.如果不存在,则将产品ID加入到coo ...

  7. 使用cookie实现打印浏览记录的功能

    可以用cookie知识来实现打印浏览记录.这里面用到的思路是将浏览记录以字符串的方式保存到cookie中,当浏览记录增加时,再将其转化为数组. $uri=$_SERVER['REQUEST_URI'] ...

  8. (JS实现顾客商品浏览记录以及购物车)Cookie的保存与删除

    //JS实现顾客浏览商品的记录以及实现购物车的功能function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.s ...

  9. 使用Cookie保存商品浏览记录

    数据流程:页面上是商品列表,点击<a href="productServlet">商品名</a> ==>跳转到自定义的servlet中进行处理,先得到 ...

随机推荐

  1. break、continue与return的区别

    1. break break语句的使用场合主要是switch语句和循环结构.在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句.如果在多重嵌套循 ...

  2. webstorm-前端javascript开发神器中文教程和技巧分享(转)

    webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享. webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu. ...

  3. Maven依赖调解

    引用来自maven实战中的一段话.

  4. 【Python学习笔记】输出现在的时间

    print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) 2016-01-27 21:40:25

  5. biosdevname网卡命名方式

    在前天通过了最后的 Go/No-Go 会议后,Fedora 15 已定于下周正式发布,这个永远站在开源技术最前沿的发行版,即将迎来又一个新的大的变动.作为 Fedora 用户,相信你已经习惯了每个新版 ...

  6. 2015 浙江省赛B Team Formation (技巧,动归)

    Team Formation For an upcoming programming contest, Edward, the headmaster of Marjar University, is ...

  7. thinkphp模板中for循环与switch的使用

    1.for用法 <for start="开始值" end="结束值" comparison="" step="步进值&quo ...

  8. Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序

    在研究单例设计模式的时候,用到了静态变量和静态方法的内容,出于兴趣,这里简单了解一下这四个模块在类初始化的时候的加载顺序. 经过研究发现,它们的加载顺序为: 1.非静态代码块 2.静态变量或者静态代码 ...

  9. Struts2接受页面传值过程中出现input的问题

    其实我在使用Struts2的时候,遇到要求返回input的时候不算少.一般我们在使用Struts2的时候,都会返回SUCCESS/ERROR,或者是NONE以到Strtuts的配置文件中再进行相应的处 ...

  10. Oracle数据库Where条件执行顺序

    由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则: 1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHE ...