昨天进行;
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>
遇到的问题:出现乱码情况,未找到原因,未解决。
燃尽图:
