简单的Cookie记录浏览记录案例
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记录浏览记录案例的更多相关文章
- cookie记录浏览记录
cookie记录浏览记录 HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做 ...
- Cookie 简单使用记录浏览记录
ItemsDAO.java package dao; import java.util.* ; import java.sql.* ; import util.DBHelper; import ent ...
- jquery.cookie.js结合asp.net实现最近浏览记录
一.html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- js操作Cookie,实现历史浏览记录
/** * history_teacher.jsp中的js,最近浏览名师 * @version: 1.0 * @author: mingming */ $(function(){ getHistory ...
- 会话技术之cookie(记录当前时间、浏览记录的记录和清除)
cookie 会话技术: 当用户打开浏览器的时候,访问不同的资源,直到用户将浏览器关闭,可以认为这是一次会话. 作用: 因为http协议是一个无状态的协议,它不会记录上一次访问的内容.用户在访问过程中 ...
- Cookie实现商品浏览记录--方式二:JS实现
使用Cookie实现商品浏览记录:方式二:JS方法实现cookie的获取以及写入.当某一个产品被点击时,触发JS方法.利用JS方法判断一下,此产品是否在浏览记录中.如果不存在,则将产品ID加入到coo ...
- 使用cookie实现打印浏览记录的功能
可以用cookie知识来实现打印浏览记录.这里面用到的思路是将浏览记录以字符串的方式保存到cookie中,当浏览记录增加时,再将其转化为数组. $uri=$_SERVER['REQUEST_URI'] ...
- (JS实现顾客商品浏览记录以及购物车)Cookie的保存与删除
//JS实现顾客浏览商品的记录以及实现购物车的功能function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.s ...
- 使用Cookie保存商品浏览记录
数据流程:页面上是商品列表,点击<a href="productServlet">商品名</a> ==>跳转到自定义的servlet中进行处理,先得到 ...
随机推荐
- Kernel,Shell,Bash 的关系
Kernel (内核) Kernel 操作系统内核 操作系统内核是指大多数操作系统的核心部分.它由操作系统中用于管理存储器.文件.外设和系统资源的那些部分组成.操作系统内核通常运行进程,并提供进程间的 ...
- ORA-12541:无监听错误解决办法
http://jingyan.baidu.com/article/03b2f78c7a0ab75ea237ae33.html 1. 从开始菜单中打开“Oracle Net Configuratio ...
- jstl_fn方法库
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 1,st ...
- Android 中jar包封装及调用-转
在android开发过程中,我们经常会有这种需求,自己开发一个类库jar包,提供给别人调用. 即把项目A封装成jar包,供项目B调用,而在项目B中调用项目A的activity的时候问题就出现了:找不到 ...
- 【android】Socket简单用法
Socket通常也称做”套接字“,用于描述IP地址和端口,废话不多说,它就是网络通信过程中端点的抽象表示.值得一提的是,Java在包java.net中提供了两个类Socket和ServerSocket ...
- RelativeLayout里的gravity不能居中的解决方法
最近在遇到RelativeLayout里的gravity属性给它复制center_horizontal或者center都不能居中它的子组件,后来找到了替代方法,只要在它的每个子组件里加上android ...
- VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
1.首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序 (DLL.EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dl ...
- ssh-copy-id:/usr/bin/ssh-copy-id: ERROR: No identities found
$ ssh-copy-id remote-machine 公钥,私钥已经生成,执行上述命令完毕出现如下错误: /usr/bin/ssh-copy-id: ERROR: No identities fo ...
- Linux - apache 服务
暂时关闭 iptables 防火墙 [root@sch01ar ~]# systemctl stop iptables.service 暂时关闭 firewall 防火墙 [root@sch01ar ...
- babel-polyfill使用简介
babel-polyfill介绍 简介 使用这个插件你可随心所欲的使用es6甚至更高版本的方法,这个插件自动转码 安装 这个插件必须在你的源码运行之前运行,所以必须安装成dependency npm ...