Cookie的使用及保存中文并用Cookie实现购物车功能
程序员文章站
2023-11-27 16:39:22
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; 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通过布局,放入购物车页面。
点击删除,将会动态删除当前行。
设置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通过布局,放入购物车页面。
点击删除,将会动态删除当前行。
上一篇: 阿里云创建CentOS系统设置
下一篇: Oracle数据库的备份及恢复策略研究