Java购物车前端代码_java web实现购物车功能的java购物车代码示例代码
/**
*用户登录
*
*@
*/
(){
//用户登录的时候,去读取,并且进行持久话操作,更多的登录操作这里省略啦....
();
}
/**
*加入购物车br我的Java学习交流QQ群:我们一起学Java!
*============================================br
*用户登录前:br
*用户在选择现金券的时候,点击现金券的加入购物车的时候,会把该现金券的信息(现金券的id,购买数量)br
*传递到这里,这时候,后台要做的就是从中查询出是否有相同的记录,如果有相同的记录br
*则把相应的记录更新;否则,就添加新的记录br
*用户登录后:br
*用户在登录后,如果有添加购物车操作,则不用保存到中,而是直接持久化购物车信息br
*
*@
*/
publicvoidaddToShoppingCart()throwsException{
if(cashTicket==null||cashTicket.getId()==null||cashTicket.getId()1){
write(nullId);
}elseif(q==null||q==){
//购买数量,默认情况下面为1
q=String.valueOf(1);
}else{
//读取所有的cookie
Cookiecookies[]=ServletActionContext.getRequest().getCookies();
if(cookies==null||cookies.length0){
//没有cookie
System.out.println(thereisnoanycookie..);
}else{
//判断用户是否登录
if(getUserInSession()==null){
booleanflag=true;
for(Cookiec:cookies){
if(c.getName().equals(Conf.IDUONA_CASHTICKET_COOKIE_STARTNAME+cashTicket.getId())){
//说明已有的cookies中有相应的cookie,就进行更新操作
IntegeroldValue=Integer.valueOf(c.getValue());
IntegernewValue=Integer.valueOf(oldValue+Integer.valueOf(q));
fixCookie(c,newValue.toString().trim());
flag=false;
}
}
//说明已有的cookies中没有相应的cookie,就进行添加操作
if(flag){
addCookie(Conf.IDUONA_CASHTICKET_COOKIE_STARTNAME+cashTicket.getId(),q.trim());
}
//==================================================
//测试用,读取所有的cookies
readShoppingCartFromCookie();
//==================================================
write(success);
}else{
//如果用户登录,说明session存在user,这时就持久化购物车信息
CashTicketcashTicketTemp=cashTicketService.get(cashTicket.getId());
if(shoppingCartService.isExistUserAndCashTicket(getUserInSession(),cashTicketTemp)){
ShoppingCartoldShoppingCart=shoppingCartService.getByUserAndCashTicket(getUserInSession(),cashTicketTemp);
oldShoppingCart.setAmount(oldShoppingCart.getAmount()+Integer.valueOf(q));
if(shoppingCartService.update(oldShoppingCart)){
write(success);
}
}else{
ShoppingCartshoppingCartTemp=newShoppingCart();
shoppingCartTemp.setAmount(Integer.valueOf(q));
shoppingCartTemp.setUser(getUserInSession());
shoppingCartTemp.setCashTicket(cashTicketTemp);
shoppingCartTemp.setCreateTime(newDate());
shoppingCartTemp.setStatusType(StatusType.POSITIVE);
shoppingCartTemp.setUuid(UUID.randomUUID().toString());
if(shoppingCartService.save(shoppingCartTemp)){
write(success);
}
}
}
}
}
}
/**
*从cookie中读取购物车信息
*
*@throwsException
*@return
*/
publicvoidreadShoppingCartFromCookie()throwsException{
System.out.println(======================================================);
Cookiecookies[]=ServletActionContext.getRequest().getCookies();
if(cookies==null||cookies.length0){
//System.out.println(thereisnoanycookie..);
//没有cookie
}else{
for(Cookiec:cookies){
System.out.println(hahatherearemanycookies:+c.getName()++c.getValue());
}
}
}
/**
*添加cookie操作
*
*@paramname
*cookie的name
*@paramvalue
*cookie的value
*/
publicvoidaddCookie(Stringname,Stringvalue){
Cookiecookie=newCookie(name.trim(),value.trim());
cookie.setMaxAge(2*60*60*1000);//设置为2个钟
ServletActionContext.getResponse().addCookie(cookie);
}
/**
*更新cookie操作
*
*@paramc
*要修改的cookie
*@paramvalue
*修改的cookie的值
*/
publicvoidfixCookie(Cookiec,Stringvalue){
c.setValue(value.trim());
c.setMaxAge(2*60*60*1000);//设置为2个钟
ServletActionContext.getResponse().addCookie(c);
}
/**
*当用户登录的时候,持久化cookie中的购物车信息,更新为本用户的购物车信息
*/
publicvoidperistShoppingCartWhenUserLogin(Useruser){
if(null!=user){
Cookiecookies[]=ServletActionContext.getRequest().getCookies();
if(cookies!=null){
for(Cookiec:cookies){
if(c.getName().startsWith(Conf.IDUONA_CASHTICKET_COOKIE_STARTNAME)){
//获取cookie的名称:iduona_cashTicket_45和cookie的值:21
Stringname=c.getName();
Integeramount=Integer.valueOf(Integer.valueOf(c.getValue())+Integer.valueOf(q));
Integerct_id=Integer.valueOf(name.substring(name.lastIndexOf(_)+1));
CashTickettemp=cashTicketService.get(ct_id);
ShoppingCartshoppingCartTemp=newShoppingCart();
if(null!=temp){
if(shoppingCartService.isExistUserAndCashTicket(user,temp)){
//进行更新操作
ShoppingCartoldShoppingCart=shoppingCartService.getByUserAndCashTicket(user,temp);
oldShoppingCart.setAmount(amount);
shoppingCartService.update(oldShoppingCart);
}else{
//否则进行保存记录
shoppingCartTemp.setAmount(amount);
shoppingCartTemp.setUser(user);
shoppingCartTemp.setCashTicket(temp);
shoppingCartTemp.setCreateTime(newDate());
shoppingCartTemp.setStatusType(StatusType.POSITIVE);
shoppingCartTemp.setUuid(UUID.randomUUID().toString());
shoppingCartService.save(shoppingCartTemp);
}
}
}
}
//移除所有的现金券cookies
removeAllCookies();
}
}
}
/**
*移除所有的现金券cookies操作
*/
publicvoidremoveAllCookies(){
Cookiecookies[]=ServletActionContext.getRequest().getCookies();
if(cookies==null||cookies.length0){
//没有cookie
System.out.println(thereisnoanycookie..);
}else{
System.out.println(开始删除cookies..);
for(Cookiec:cookies){
if(c.getName().startsWith(Conf.IDUONA_CASHTICKET_COOKIE_STARTNAME)){
c.setMaxAge(0);//设置为0
ServletActionContext.getResponse().addCookie(c);
}
}
}
}
效果:
用户没有登录的情况下
用户登录了以后:
数据库里面的情况:
Java购物车前端代码_java web实现购物车功能的java购物车代码示例代码相关推荐
- java 集合数组 例子_Java数组元素去重(不使用集合)(示例代码)
/* * 需求:去除整型数组中重复的元素,不能使用集合等方法 * * 解决思路: * 1.对数组中的元素进行从小到大的顺序排序 * 2.获取数组中重复元素的个数 * 3.获取数组中重复元素的索引位置, ...
- Java EasyExcel在Web网站中读写Excel的方法及示例代码
使用EasyExcel可以更容易简单在Web网站中读写Excel,本文主要介绍在Java Web网站中读写Excel方法及示例代码. 原文地址:Java EasyExcel在Web网站中读写Excel ...
- java web购物车代码_java web开发之购物车功能实现示例代码
之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现. 查询的资料,找到三种方法: 1.用cookie实现购物车: 2.用session实现购物车: 3 ...
- java web是前端吗_Java Web 是前端还是后端?
Java Web 是前端还是后端? Java Web是属于后端,Java Web就是用Java技术开发的Web应用,而Java是一种可以编写跨平台应用软件.完全面向对象的高级程序设计语言,一般常用于后 ...
- java wed登录面 代码_java web 登录界面
JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标 ...
- flask实现后台java实现前端页面_java实现telnet功能,待实现windows下远程多机自动化发布软件后台代码...
java实现telnet功能,待实现windows下远程多机自动化发布软件后台代码 package com.org.softwore.util; import java.io.IOException; ...
- javaweb 图书管理系统完整代码_Java Web安全代码审计(一)
点击上方"凌天实验室"可订阅哦! 信息安全的75%发生在web应用而非网络层. 本篇内容涉及Java Web安全-代码审计,非战斗人员速速离开. 1JavaWeb 安全基础 1. ...
- java动态创建bean的意义_java相关:Spring Boot如何动态创建Bean示例代码
java相关:Spring Boot如何动态创建Bean示例代码 发布于 2020-3-20| 复制链接 摘记: 前言本文主要给大家介绍了关于Spring Boot动态创建Bean的相关内容,分享出来 ...
- java 奇数中文乱码_java web 乱码 整理
众所周知 java 程序使用的是Unicode 编码字符集,是说java内存里面使用Unicode字符集操作文字,java内存外当然使用的是程序员自己制定的字符集,如果程序员没有指定字符集,那么会使用 ...
- java度量衡换算器代码_Java开发笔记(四)Java帝国的度量衡
秦始皇统一中国之后,实行"书同文,车同轨",把货币和各种度量衡都统一起来,从而缔造了一个秩序井然的帝国.既然统一度量衡是每个帝国都要做的事情,Java帝国也不例外,对于人生地不熟的 ...
最新文章
- 动态环境下的SLAM:DynaSLAM 论文学习笔记
- linux openwrt插件,OpenWrt添加软件包(一)
- 安卓开发:关于适配的问题
- Hadoop在Ubuntu下的安装配置(配置成功)
- leetcode -day8 Copy List with Random Pointer Single Number I II
- OpenCASCADE:Modeling Algorithms模块之布尔运算
- java 减法_java 加减法2
- xenserver命令启动虚拟机
- cus.crm.myaccounts.util.Util.isIntentSupported
- python编程教程if_Python编程:从入门到实践——【作业】——第五章(if语句)...
- 计算机指纹识别的原理步骤,指纹识别原理和过程
- 聊聊UI的扁平化设计趋势与拟物化设计
- 中国象棋《棋经论》及象棋布局歌诀,值得研究、细细品味
- 申城最浪漫的法国普卢旺司餐厅--Bistro Latitude
- 淘宝直通车辅助工具系统使用教程
- linux scp 自动备份,linux Oracle 自动备份并scp
- 卡尔曼滤波最完整公式推导
- java开发程序员培训班,成功跳槽阿里!
- 如何选择适合自己的吉他弦(下)
- 6 Processes 下
热门文章
- 新手日入200➕,必备的5类短视频自媒体工具分享,抓紧收藏
- 临汾一中2021高考成绩查询,临汾一中举行2021届高三年级高考百日誓师大会
- python的沙盒环境--virtualenv
- html5上传steam,Steam 上的 HTML5 Javascript Game Engine
- Leetcode 503:下一个更大元素 II(超详细的解法!!!)
- AVRmega16单片机的前世今身以及应用开发
- qrc支持html吗,vimwikiqrc
- Untiy3d-unity游戏性能优化-详细介绍
- 《0day安全》堆溢出利用(下)——代码植入
- php抓取dom处理后数据,写爬虫时PHP解析HTML最高效的方法那就是用DomCrawler!