热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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中。
代码如下:

<%@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" %>


<%
//设置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;i<=list.size();i++){
String[] 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通过布局,放入购物车页面。

点击删除,将会动态删除当前行。
推荐阅读
  • Javascript中带有加号 - 减号(±)的极坐标曲线方程 - Polar curve equation with plus-minus sign (±) in Javascript
    IamtryingtodrawpolarcurvesonHTMLcanvasusingJavascript.WhatshouldIdowhenIwanttoco ... [详细]
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • Itwasworkingcorrectly,butyesterdayitstartedgiving401.IhavetriedwithGooglecontactsAPI ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • 我有使用googledrivepdf的共享链接,我必须使用angular7下载pdf文件。我已经完成了自欺 ... [详细]
author-avatar
diuhunpo_813
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有