从开发者的角度来看,购买行为 就是创建一条一条的订单项
而显示购物车,也就是把这些订单项显示在页面上。
在这个阶段,订单项都会保存在session中,直到最后生成订单的时候,才会把这些订单项保存在数据库中。
步骤1:SQL
步骤2:OrderItem
步骤3:ProductDAO
步骤4:购买商品
步骤5:显示购物车内容
步骤6:购买相同商品
步骤7:配置web.xml
步骤8:测试
步骤9:练习-删除订单项
步骤10:答案-删除订单项
步骤11:练习-加入购物车
步骤12:答案-加入购物车
步骤 1 : SQL
暂时不需要为OrderItem创建表,因为在这个环节OrderItem还是保存在Session中的
步骤 2 : OrderItem
OrderItem使用属性Product类型的product,而非int类型的pid,因为在后续显示购物车的时候,可以很简单的通过el表达式就显示商品名称和价格了
|
|
步骤 3 : ProductDAO
因为购买的时候,提交到服务器的是pid, 而OrderItem类的product属性是一个Product类型
所以ProductDAO需要根据id获取Product对象
|
步骤 4 : 购买商品
购买行为本身就是创建一个OrderItem对象
在负责购买商品的OrderItemAddServlet 中,进行如下流程
1. 获取购买数量
2. 获取购买商品的id
3. 根据id获取商品对象
4. 创建一个新的OrderItem对象
5. 从session中取出一个List , 这个List里面存放陆续购买的商品。
如果是第一次从session中获取该List,那么它会是空的,需要创建一个ArrayList
6. 把新创建的OrderItem对象放入该List 中
7. 跳转到显示购物车的listOrderItem
|
步骤 5 : 显示购物车内容
显示购物车的OrderItemListServlet 其实什么也没做,因为数据已经在session准备好了,直接服务端跳转到listOrderItem.jsp
在listOrderItem.jsp中,从session中遍历出所有的OrderItem。 因为保存在OrderItem 上的是一个Product对象,所以很容易就可以通过EL表达式遍历出商品的名称和价格。
|
|
|
步骤 6 : 购买相同商品
遍历session中所有的OrderItem
如果找到对应的product.id一样的条目,就调整其数量
如果没有找到,就新增加一条
|
步骤 7 : 配置web.xml
|
步骤 8 : 测试
从登陆页面开始,登陆后到产品显示页面,然后修改购买数量,最后点击购买
|
更多内容,点击了解: https://how2j.cn/k/cart/cart-cart/598.html