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

Cookie是服务器存放在客户端的一些数据,比如密码。下面为大家介绍下使用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; IoUt.print(cookies[i].getName() +"――――"+ cookies[i].getValue() + "

");

}

}

%>

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") + "

");

动态删除Table当前行

复制代码 代码如下:

Cookie实现购物车功能

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

复制代码 代码如下:

pageEncoding="UTF-8" import="java.util.*"%>

//设置cookie

ArrayList list = new ArrayList();

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;iString[] strings = new String[list.get(i-1).length];

for(int j=0;jstrings[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; IoUt.print(cookies[i].getName() +"――――"+ java.net.URLDecoder.decode(cookies[i].getValue(),"UTF-8") + "

");

}

}

if(cookies!=null && cookies.length>5){

ArrayList goodslist = new ArrayList();

int i=1;

for(int j=0;jString[] strings = new String[7];

for(int k=0;kstrings[k]=java.net.URLDecoder.decode(cookies[i++].getValue(),"UTF-8");

}

goodslist.add(strings);

}

pageContext.setAttribute("goodslist", goodslist);

}

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

%>

ID/图片/商品名

SIZE

单价

数量

${goods[0]}title="${goods[2]}" href="${goods[3]}">${goods[2]}

${goods[4]}

${goods[5]}

${goods[6]}

收藏删除

购物车实现结果

 

上面部分是获取的Cookie。

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

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

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...