昨天进行;
9.删除购物车
在购物车页面,中点击删除时,触发
DelCartServlet,根据id找到要删除的商品后,从购物车map中删除
10.修改购买数量
在购物车页面,修改购物数量时触发,利用js控制输入的数字必须正整数
ChangeCartServlet,根据id找到要删除的商品后,修改购物车中商品的数量
11.清空购物车
找到购物车map,清空map
今天进行:
12.生成订单
在购物车中,当购物完成后,用户点击 生成订单 生成订单
访问一个addOrder.jsp -- 列出订单的基本信息,要求用户输入收货地址和支付方式
AddOrderServlet -- 创建Order对象设置基本值,其中Money需要在后台根据购物车实时计算出来 调用OrderService中生成订单的方法生成订单, 清空购物车 回到主页
OrderService -- 中生成订单的方法 在订单表中插入一条记录 在订单项表中插入记录保存此订单和商品之间的关系 从商品表中的库存数量中扣除购买数量 需要进行事务管理
OrderDao -- 增加订单的方法 增加订单项的方法
ProductDao -- 增加扣除商品数量的方法
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <h1>订单生成</h1><hr> <form action="/AddOrderServlet" method="POST"> 收货地址:<textarea rows="5" cols="45" name="receiverinfo"></textarea><br> 支付方式:<input type="radio" name="typex" checked="checked" />在线支付<br> <input type="submit" value="生成订单"/> </form> 购物清单:<br> <table width="100%" border="1" style="text-align: center"> <tr> <th>商品名称</th> <th>商品种类</th> <th>商品单价</th> <th>购买数量</th> <th>库存状态</th> <th>总价</th> </tr> <c:set var="money" value="0" /> <c:forEach items="${sessionScope.cartmap}" var="entry"> <tr> <td>${entry.key.name }</td> <td>${entry.key.category }</td> <td>${entry.key.price }元</td> <td>${entry.value }件</td> <td> <c:if test="${entry.value<=entry.key.pnum}"> <font color="blue">有货</font> </c:if> <c:if test="${entry.value>entry.key.pnum}"> <font color="red">缺货</font> </c:if> </td> <td> ${entry.key.price * entry.value }元 <c:set var="money" value="${money + entry.key.price * entry.value }"/> </td> </tr> </c:forEach> </table> <div align="right"> <font color="red" size=6">总价:${money }元</font> </div> </body> </html>
遇到的问题:出现乱码情况,未找到原因,未解决。
燃尽图: