第十一周作业购物车的开发-3

购物车模块

从开发者的角度来看,购买行为 就是创建一条一条的订单项
而显示购物车,也就是把这些订单项显示在页面上。

在这个阶段,订单项都会保存在session中,直到最后生成订单的时候,才会把这些订单项保存在数据库中。

1)SQL

暂时不需要为OrderItem创建表,因为在这个环节OrderItem还是保存在Session中的

2)建一个OrderItem类

3)建一个ProductDAO类

ProductDAO需要根据id获取Product对象

 4)建一个OrderAddListServlet

购买行为本身就是创建一个OrderItem对象
在负责购买商品的OrderItemAddServlet 中,进行如下流程
1. 获取购买数量
2. 获取购买商品的id
3. 根据id获取商品对象
4. 创建一个新的OrderItem对象
5. 从session中取出一个List , 这个List里面存放陆续购买的商品。
如果是第一次从session中获取该List,那么它会是空的,需要创建一个ArrayList
6. 把新创建的OrderItem对象放入该List 中
7. 跳转到显示购物车的listOrderItem

购买相同商品时: 

遍历session中所有的OrderItem
如果找到对应的product.id一样的条目,就调整其数量
如果没有找到,就新增加一条

一定要注意重定向路径!是建立再cart目录下的listOrderItem 

5)显示购物车内容建立OrderItemListServlet和listOrderItem.jsp

显示购物车的OrderItemListServlet 其实什么也没做,因为数据已经在session准备好了,直接服务端跳转到listOrderItem.jsp

在listOrderItem.jsp中,从session中遍历出所有的OrderItem。 因为保存在OrderItem 上的是一个Product对象,所以很容易就可以通过EL表达式遍历出商品的名称和价格。

 

 记得要导入包!

 6)配置web.xml

 7)新增删除按钮,可以在加入购物车后进行删除。

新建一个OrderItemDeleteServlet

 修改listOrder.jsp

关键步骤如下图红圈圈的地方

 8)最后的效果呈现

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值