easymall项目的商品删除,前台商品分页,商品详情,购物车模块

简单的挑选一下昨天所学的重点知识模块,以备后续的复习数据库

 

 

1、购物车模块
1.1购物车两种实现的区别:!!!!!!!!
 用session保存
  缺点:浏览器关闭,session失效时保存在session中购物信息将会消失
  后续优化,将购买的信息除了保存在session中之外,还要将购物的信息保存在cookie中,这样
  就解决了浏览器关闭购买商品信息丢失的问题(可是解决不了跟换电脑信息丢失的问题)
  优势:不用操做数据库,能够减小数据库访问压力
 数据库中:
  缺点:只用登陆的用户才能添加购物车
   频繁的操做数据库
  优势:浏览器关闭,更换电脑不受影响浏览器

1.2具体实现
 在session中使用map<product,Interger>来保存购物车中购买商品的信息。
  key:Produnct类对象,key不能重复,须要复写hashCode和equals方法
  value:该商品购买了几件
 0.session监听:当session建立时,向session中添加个cart对象(new hashMap<Product,Interger>())   当session 销毁是,从session做用域中将cart删除
 1.加入购物车:
  入口:从商品分页列表页和商品详情页面,点击加入购物车按钮
  CartAddServlet:
   获取要增长的商品的id和购买的数量
   根据商品id调用service业务层的根据商品id查询商品信息的方法
   将该商品对象添加到map集合中:
    |-该商品首次购买,向map集合添加一条记录。<prod,num>
    |-该商品在购物车已经存在,修改map集合中prod对应元素的购买数量
     新数量=原数量+本次购买的数量
 2.购物车显示
  直接在购物车页面(cart.jsp)上从session中获取,Map<Product,Interger> 
 3.修改数量
  将商品id和新的数量进行提交,根据pid和newNum修改map对象的对应元素
  是否须要查询数据库???
 4.购物车删除
  根据商品的id从map集合中删除该元素cookie

1.3具体开发实现
 1.3.1session监听开发
  1.建立一个类MyHttpSessionListener,实现指定的接口HttpSessionListener
  而后实现接口中的抽象方法 session

 1.3.2
 为了区分是否为同一件商品,jsp

 1.开发cart.jsp页面上修改
 2.接受参数优化

 


2、订单模块
订单添加成功时 要对应商品的库存减小
Map<product,Interger> cart -->数据库中
1.向orders添加一条记录
2.向orderitem表中添加若干条记录
3.修改products表中若干条记录,修改剩余库存
 准备工做
  1.建立订单表和订单项表
 order订单表
  收货地址
  支付方式
  订单总金额
  订单号
 orderitem订单项
  order_id
  product_id
  buynum 对象

相关文章
相关标签/搜索