为了方便自己以后复习,所以写的比较仔细,记录下自己的成长。

既然是做购物车,那么前提条件是首先需要一系列商品,也就是要建一个实体,这里建了一个商品表、

通过查询在浏览器上显示

基本显示已经做好了,现在进入我们的重头戏,servlet

点击放入购物车时,将访问servlet

购物车代码

package com.servlet;

import java.io.ioexception;

import java.io.printwriter;

import java.util.hashmap;

import java.util.map;

import javax.servlet.servletexception;

import javax.servlet.http.httpservlet;

import javax.servlet.http.httpservletrequest;

import javax.servlet.http.httpservletresponse;

import com.dao.goodsdao;

import com.entity.goods;

import com.entity.goodsitem;

public class putcarservlet extends httpservlet {

public void doget(httpservletrequest request, httpservletresponse response)

throws servletexception, ioexception {

response.setcontenttype("text/html");

printwriter out = response.getwriter();

dopost(request, response);

}

public void dopost(httpservletrequest request, httpservletresponse response)

throws servletexception, ioexception {

response.setcontenttype("text/html");

printwriter out = response.getwriter();

//得到编号

string id = request.getparameter("goodsid");

//通过编号得到商品对象的所有信息

goodsdao dao = new goodsdao();

goods g = dao.getgoodsbyid(id);

//将商品放入购物车

//map集合 就是购物车

// map 商品编号作为键 商品项作为值

//1.判断是否存在购物车

//购物车是放在session中的

//从session去取购物车

map gwc = (map)request.getsession().getattribute("gwc");

//判断是否存在

if(gwc==null){

//创建购物车

gwc = new hashmap();

}

//将商品项放入购物车

//put(商品编号,商品项) 向gwc集合中添加数据

//你要想 购物车中是否已存在该商品

// 说白了 就是在gwc集合中去匹配是否存在这样一个商品项 ==》去集合中匹配是否存在这样一个商品编号的key

//判断是否存在商品编号的键

if(gwc.containskey(id)){

//存在

//设置数量+1

//通过键 获得值

//键为商品编号 值为商品项 商品项里面包含商品对象信息 和数量信息

goodsitem spx = gwc.get(id);

//得到原来的数量

int yldsl = spx.getcount();

//在原来的数量上+1

gwc.get(id).setcount(yldsl+1);

// gwc.get(id).setcount(gwc.get(id).getcount()+1) ;

}else{

//不存在

//创建一个新的商品项 数量为1

goodsitem gi = new goodsitem(g, 1);

//将此商品项放入gwc

gwc.put(id, gi);

}

//将购物车放入session

request.getsession().setattribute("gwc", gwc);

//继续购物

response.sendredirect("index.jsp");

}

}

执行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

java web 购物车_java web开发之实现购物车功能相关推荐

  1. java web购物车_java web开发——购物车功能实现

    之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现. 查询的资料,找到三种方法: 1.用cookie实现购物车: 2.用session实现购物车: 3 ...

  2. javaweb mysql购物车_java web开发之实现购物车功能

    为了方便自己以后复习,所以写的比较仔细,记录下自己的成长. 既然是做购物车,那么前提条件是首先需要一系列商品,也就是要建一个实体,这里建了一个商品表. 通过查询在浏览器上显示 基本显示已经做好了,现在 ...

  3. java web试题_Java web开发经典面试题汇总(内附答案详解)

    原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...

  4. java web环境_java web

    HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException HTTP ...

  5. java web 教程_Java Web服务教程

    java web 教程 Welcome to the Java Web Services Tutorial. Here we will learn about web services, useful ...

  6. java 实现 web 客户端_Java web客户端和服务器端交互的原理

    Java web客户端和服务器端交互的原理 其实HTTP客户端和服务器端的交互原理很简单:即先是浏览器和服务器端建立Socket无状态连接,也就是短连接,然后通过IO流进行报文信息(这个报文是严格遵循 ...

  7. web开发的java语言步骤_java web开发入门一(servlet和jsp)基于eclispe

    servlet 用java语言开发动态资源网站的技术,在doGet方法中拼接显示html,在doPost方法中提交数据.类似于.net的ashx技术. servlet生成的class文件存放在tomc ...

  8. java 微信请求_Java web微信请求拦截器(微信公众号开发)

    Java web微信请求拦截器(微信公众号开发),获取微信用户信息. package com.mvc.interceptor; import com.alibaba.fastjson.JSONObje ...

  9. java css路径_java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?...

    ---------------------------------------------------------------------------------------------------- ...

最新文章

  1. Android studio第一次使用配置(三)gradle项目构建
  2. 没做领导的时候,觉得领导都是傻X!做了领导之后觉得下属才是傻X!
  3. 西南交大量子计算机,交大量子光电实验室
  4. [转]Vi 教程(Unix行编辑器)
  5. java list过滤完赋给自己_Java8对list集合进行排序、过滤、分组、去重、转map、遍历赋值等操作...
  6. Linux系统:centos7下搭建Rocketmq4.3中间件,和监控台
  7. Linux基础之命令练习Day4-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make...
  8. ios学习路线_OC基础语法
  9. U8普及版在win7系统中,UFO报表一点打印或预览就报错
  10. 大数据和数据挖掘之间,主要有什么关系?
  11. VMWare IOS MAC分区教程
  12. 解除WORD文档保护
  13. linux系统bcast,Linux系统下取IP地址的几种方法
  14. GB:香港城市大学孙燕妮组发表高准确度病毒株识别工具VirStrain
  15. 80后十大烦恼的特征
  16. Intel Distiller工具包-量化实现1
  17. Word生成图表(柱状图、线形图等,并附带表格展示数值)
  18. springboot整合mybatis
  19. 工行连接深圳通 dll调不到
  20. dd_engi的背包九讲(新版转载)

热门文章

  1. ubuntu+VsCode+Cmake+eigen 开发eigen应用
  2. Ubuntu apt-get 源详解
  3. 【PC工具】在线MP3转WAV工具,MP3文件转换成arduino可以直接播放的wav格式
  4. 基于FPGA的FFT变换实现
  5. 开发常见错误解决(7)连接到SQL Server 2005出错
  6. 数据恢复专业基础之python解释NTFS runlist的代码
  7. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器
  8. JavaXml教程(二)使用DOM方式解析XML文件
  9. DMURLConnection
  10. Rhel6.0升级内核到3.0.4