Cookie的使用及保存中文并用Cookie实现购物车功能

Cookie是服务器存放在客户端的一些数据,比如密码,以及你曾经访问过的一些数据。

设置Cookie


代码如下:

//设置cookie
Cookie cookie = new Cookie("TOM","111");
//设置有效期,默认秒为单位
cookie. setMaxAge(7*24*60*60);
//添加cookie到客户端
response.addCookie(cookie);

获取Cookie


代码如下:

<%
//获取cookie
Cookie[] cookies = request.getCookies();
if(cookies!=null && cookies.length>0) {
for(int i=0; i<cookies.length;i++) {
out.print(cookies[i].getName() +"————"+ cookies[i].getValue() + "<br/>");
}
}
%>

Cookie的中文支持
Cookie不支持中文的显示,必要的时候,需要进行转码和解码。

转码


代码如下:

strings[j]=java.net.URLEncoder.encode(list.get(i-1)[j],"UTF-8");

解码


代码如下:

out.print(java.net.URLDecoder.decode(cookies[i].getValue(),"UTF-8") + "<br/>");

动态删除Table当前行


代码如下:

<script language="javascript">
function deletegoods(obj) {
var rowIndex = obj.parentNode.parentNode.rowIndex;
var table = document.getElementById("table");
table.deleteRow(rowIndex);
}
</script>

Cookie实现购物车功能

以数组模拟选择过程,并把所有的选择项放入Arraylist中。


代码如下:

<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script language="javascript">
function deletegoods(obj) {
var rowIndex = obj.parentNode.parentNode.rowIndex;
var table = document.getElementById("table");
table.deleteRow(rowIndex);
}
</script>
</head>
<body>
<p>
<%
//设置cookie
ArrayList<String[]> list = new ArrayList<String[]>();
list.add(new String[]{"1001","img/1.jpg","经典基本款低帮帆布女鞋2.0 粉绿色","#","39","¥69.00","1"});
list.add(new String[]{"1002","img/2.jpg","基础罗纹Y字吊带背心 奶蓝色","#","m","¥9.00","1"});
int times = 1*24*60*60;
for(int i=1;i<=list.size();i++){
String[] strings = new String[list.get(i-1).length];
for(int j=0;j<list.get(i-1).length;j++){
strings[j]=java.net.URLEncoder.encode(list.get(i-1)[j],"UTF-8");
}
Cookie cookie = new Cookie("item_id_"+i,strings[0]);
cookie.setMaxAge(times);
response.addCookie(cookie);
cookie = new Cookie("item_img_"+i,strings[1]);
cookie.setMaxAge(times);
response.addCookie(cookie);
cookie = new Cookie("item_title_"+i,strings[2]);
cookie.setMaxAge(times);
response.addCookie(cookie);
cookie = new Cookie("item_URL_"+i,strings[3]);
cookie.setMaxAge(times);
response.addCookie(cookie);
cookie = new Cookie("item_size_"+i,strings[4]);
cookie.setMaxAge(times);
response.addCookie(cookie);
cookie = new Cookie("item_price_"+i,strings[5]);
cookie.setMaxAge(times);
response.addCookie(cookie);
cookie = new Cookie("item_number_"+i,strings[6]);
cookie.setMaxAge(times);
response.addCookie(cookie);
}
%>
<%
//获取cookie
Cookie[] cookies = request.getCookies();
if(cookies!=null && cookies.length>0) {
for(int i=0; i<cookies.length;i++) {
out.print(cookies[i].getName() +"————"+ java.net.URLDecoder.decode(cookies[i].getValue(),"UTF-8") + "<br/>");
}
}
if(cookies!=null && cookies.length>5){
ArrayList<String[]> goodslist = new ArrayList<String[]>();
int i=1;
for(int j=0;j<cookies.length/7;j++){
String[] strings = new String[7];
for(int k=0;k<strings.length;k++){
strings[k]=java.net.URLDecoder.decode(cookies[i++].getValue(),"UTF-8");
}
goodslist.add(strings);
}
pageContext.setAttribute("goodslist", goodslist);
}

// pageContext.setAttribute("length", cookies.length);
%>

</p>
<form name="form1" method="post" action="">
<table width="700" border="0" id="table">
<tr>
<td>ID/图片/商品名</td>
<td>SIZE</td>
<td>单价</td>
<td>数量</td>
<td> </td>
</tr>
<c:forEach items="${goodslist}" var="goods">
<tr id="${goods[0]}">
<td>${goods[0]}<img src="${goods[1]}" border="0"/></a><a target="_blank"
title="${goods[2]}" href="${goods[3]}">${goods[2]}</a></td>
<td>${goods[4]}</td>
<td>${goods[5]}</td>
<td>${goods[6]}</td>
<td><a href="#">收藏</a> <a href="#" onclick="deletegoods(this)">删除</a></td>
</tr>
</c:forEach>
</table>
</form>
<p> </p>
</body>
</html>

购物车实现结果
 
上面部分是获取的Cookie。

下面的部分是将Cookie通过布局,放入购物车页面。

点击删除,将会动态删除当前行。

(0)

相关推荐

  • 登录时记住用户名和密码及cookie案例应用

    登录样子,可以参考某一论坛的登录介面: 记住这些信息,可以使用Cookie来实现,更多Cookie应用,可参考http://jb51.net/article/33590.htm http://jb51.net/article/33591.htm现在我们来模拟一个登录介面: 复制代码 代码如下: <table> <tr> <td style="width: 15%; text-align: right;"> User Name </td>

  • js读写COOKIE实现记住帐号或密码的代码(js读写COOKIE)

    js COOKIE 记住帐号或密码 function onLoginLoaded() { if(isPostBack == "False") { GetLastUser(); } } function GetLastUser() { var id = "49BAC005-7D5B-4231-8CEA-16939BEACD67"; var usr = GetCookie(id); if(usr != null) { document.getElementById('t

  • Cookie的使用及保存中文并用Cookie实现购物车功能

    Cookie是服务器存放在客户端的一些数据,比如密码,以及你曾经访问过的一些数据. 设置Cookie 复制代码 代码如下: //设置cookie Cookie cookie = new Cookie("TOM","111"); //设置有效期,默认秒为单位 cookie. setMaxAge(7*24*60*60); //添加cookie到客户端 response.addCookie(cookie); 获取Cookie 复制代码 代码如下: <% //获取co

  • JS保存和删除cookie操作 判断cookie是否存在

    有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!="这样的写法. 复制代码 代码如下: a=getCookie("username3"); c_start=document.cookie.indexOf("username3="); if(c_start == -1){  $("#login_form").show();     $("#logined"

  • Python3中关于cookie的创建与保存

    1.cookie的作用 cookie 是指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据,就像有些网站上的一些数据是需要登录后才能看得到,那么想抓取某个页面内容,就需要用到cookie来模拟登陆了. 在用cookie模拟登陆的时候,需要用到python中的CookieJar,CookieJar中有一些子类,例如: FileCookieJar,LWPCookieJar,MoziliaCookieJar CookieJar 管理http生成的cookie,负责cooki

  • jQuery使用cookie与json简单实现购物车功能

    本文实例讲述了jQuery使用cookie与json简单实现购物车的方法.分享给大家供大家参考,具体如下: 1.生成一个cookie 用来存储商品的id  String类型 2.添加商品id的时候 把cookie转化成数组,并检查是否已经包含了.没有包含用js push重新生成新的数组. 3.把数组转化成String 用cookie存储. 以下是jquery对cookie和JSON的操作方法 $.cookie("cart","ids",{expires:-7,pat

  • 原生js+cookie实现购物车功能的方法分析

    本文实例讲述了原生js+cookie实现购物车功能的方法.分享给大家供大家参考,具体如下: 这里使用js+cookie实现简单的购物车功能. 首先是简单的HTML结构,只是为了演示下功能. <ul> <li><span>a0001</span><span>shdfi</span><span>¥98.00</span> <input type="button" value="加

  • JavaScript 保存数组到Cookie的代码

    JavaScript中数组是无法直接保存为Cookie的(PHP可以),那要将数组转存为字符串,再保存在Cookie中,简单的一维数组我们直接用toString()或者join就可以了: JavaScript中toString函数方法是返回对象的字符串表示. 使用方法:objectname.toString([radix]) 其中objectname是必选项.要得到字符串表示的对象. radix是可选项.指定将数字值转换为字符串时的进制. join是其中一个方法. 格式:objArray.joi

  • Cookie的使用之保存与获取代码示例

    代码为设置Cookie和获取Cookie方法的例子 复制代码 代码如下: function SetUserCookie() { //取用户名 var usr = document.getElementById('user').value; var expdate = new Date(); //当前时间加上两周的时间 expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000)); //将最后一个用户信息写入到Cookie SetC

  • C#基于cookie实现的购物车功能

    本文实例讲述了C#基于cookie实现的购物车.分享给大家供大家参考,具体如下: 下面的代码将商品添加到cookie中,这里就不再编写添加商品到购物车的页面流程,而是直接使用代码实现 HttpCookie cookie = new HttpCookie("shop"); //cookie.values集合能够存储多个键值对,其中add方法的第一个参数是商品编号,第二个参数是商品名称和价格,中间用都好分隔. cookie.Values.Add("1", "电

  • scrapy框架携带cookie访问淘宝购物车功能的实现代码

    scrapy框架简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便 scrapy架构图 crapy Engine(引擎): 负责Spider.ItemPipeline.Downloader.Scheduler中间的通讯,信号.数据传递等. Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整

  • C#实现将网页保存成图片的网页拍照功能

    本文实例主要实现了网页照相机程序的功能.C#实现将网页保存成图片格式,简单实现网页拍照,主要是基于ActiveX 组件的网页快照类,AcitveX 必须实现 IViewObject 接口.因此读者完全可扩展此类将其用于你的C#软件项目中.在此特别感谢作者:随飞提供的代码. 主要功能代码如下: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices

随机推荐