java web开发之实现购物车功能
程序员文章站
2024-03-12 22:16:50
为了方便自己以后复习,所以写的比较仔细,记录下自己的成长。
既然是做购物车,那么前提条件是首先需要一系列商品,也就是要建一个实体,这里建了一个商品表、...
为了方便自己以后复习,所以写的比较仔细,记录下自己的成长。
既然是做购物车,那么前提条件是首先需要一系列商品,也就是要建一个实体,这里建了一个商品表、
通过查询在浏览器上显示
基本显示已经做好了,现在进入我们的重头戏,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<string,goodsitem> gwc = (map<string,goodsitem>)request.getsession().getattribute("gwc"); //判断是否存在 if(gwc==null){ //创建购物车 gwc = new hashmap<string, goodsitem>(); } //将商品项放入购物车 //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"); } }
执行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: PHP中Notice错误常见解决方法
下一篇: Java常见内存溢出异常分析与解决