第20章WEB20-网上商城实战篇
今日任务
Ø 完成购物模块的功能
Ø 完成订单模块的功能
1.1 购物模块的功能:1.1.1 需求:
1.1.2 代码实现:1.1.2.1 封装实体
封装实体:
- 购物项:
- 商品对象:
- 数量:
- 小计:
- 购物车:
- 购物项集合:
- 总计:
1.1.2.2 加入购物车的代码实现:
在商品详情页面点击【加入购物车】:
添加到Servlet:
调用封装的购物车对象addCart的方法:
页面跳转:(购物车的页面)
1.1.2.3 清空购物车:
在购物车的页面中点击清除购物车的链接:
提交到Servlet:
- 调用Cart中的clearCart的方法:
- 跳转到购物车页面:
1.1.2.4 移除购物项:
在购物车的页面中点击 删除的链接:
添加到Servlet: - 调用Cart中的removeCart的方法:
- 跳转到购物车页面:
1.2 订单模块的功能实现:1.2.1 需求:
1.2.2 代码实现:1.2.2.1 创建表和实体:
CREATE TABLE `orders` (
`oid` varchar(32) NOT NULL,
`ordertime` datetime DEFAULT NULL,
`total` double DEFAULT NULL,
`state` int(11) DEFAULT NULL,
`address` varchar(30) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`telephone` varchar(20) DEFAULT NULL,
`uid` varchar(32) DEFAULT NULL,
PRIMARY KEY (`oid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `orderitem` (
`itemid` varchar(32) NOT NULL,
`count` int(11) DEFAULT NULL,
`subtotal` double DEFAULT NULL,
`pid` varchar(32) DEFAULT NULL,
`oid` varchar(32) DEFAULT NULL,
PRIMARY KEY (`itemid`),
KEY `fk_0001` (`pid`),
KEY `fk_0002` (`oid`),
CONSTRAINT `fk_0001` FOREIGN KEY (`pid`) REFERENCES `product` (`pid`),
CONSTRAINT `fk_0002` FOREIGN KEY (`oid`) REFERENCES `orders` (`oid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.2.2.2 生成订单的功能:
在购物车的页面中点击提交订单:
提交到Servlet中:
- 事务管理:向订单表和订单项表插入记录.
- 页面跳转到订单页面: