购物车案例:
基本设计思想:
(1)使用session机制,保存用户状态(用户购买的商品)。
(2)为了方便对购买操作的处理(比如,购买商品、
删除已经购买的商品、查看已经购买的商品、计价等等),
设计一个Cart类,封装这些操作。Cart对象会放在Session对象里。
具体的设计:
表:t_computer
create table t_computer(
id bigint primary key auto_increment,
name varchar(50),
description varchar(100),
pic varchar(255),
price double(8,2));
实体类:
Computer
dao:
ComputerDAO
Comuter findById(long id)
List findAll()
save(Computer computer);
ComputerDAOJdbcImpl
测试dao:
购物车的设计:
CartItem //商品条目
属性:
int qty //购买产品的数量
Computer c //购买的产品是什么
方法:
get/set方法
Cart //购物车
属性:
List items //存放所有购买的商品
方法:
boolean add(CartItem item) //boolean值如果是false,表示
已经购买过该商品。
void delete(long id) //删除某个商品。id是产品的ID号。
void modify(long id,int qty) //修改商品的数量
double sum() //计价
void clear() //清空商品
List list //列出所有商品
页面:
cart_list.jsp:
功能:列出所有商品,用户点击链接实现购买。
实现:查询t_computer表(由ShoppingServlet来负责查询)
cart.jsp
功能:列出所有已经购买的商品,并且可以修改数量、
删除某个商品、清空购物车、返回到cart_list.jsp。
实现:(ShoppingServlet调用以下方法)
列出所有已经购买的商品: cart.list()
修改数量:cart.modify()
删除:cart.delete()
清空:cart.clear()
ShoppingServlet:
(1)创建Session: request.getSession();
(2)创建Cart,并且将Cart放到session
(3)调用Cart的方法,完成请求;也会调用
ComputerDAO完成数据库操作
1