回顾:
分类信息展示
包含
ajax
.get(url,params,function(data),type);
.
g
e
t
(
u
r
l
,
p
a
r
a
m
s
,
f
u
n
c
t
i
o
n
(
d
a
t
a
)
,
t
y
p
e
)
;
.post(url,params,function(data){},type);
$.ajax(选项);
选项:
url:"/store/xxx",
type:"get",
data:"username=tom",
success:function(obj){},
error:function(){},
dataType:"json",
async:true
首页上商品的展示
单个商品的详情
分页查询
PageBean
list//数据 通过limit m,n
currPage//当前页码
pageSize//显示的条数
totalPage//总页数
totalCount//总条数
/
缓存技术:
ehcache:
将不常用的数据放到内存中,需要的时候直接从内存中获取.
使用步骤:
1.jar包
2.配置文件
3.获取缓存管理者
4.获取指定名称的缓存对象
5.通过指定的key获取element
6.判断element是否为空
若为空,查询,将结果封装成Element,put进去
若不为空,getObjectValue();
//
//
//
案例1-将商品添加到购物车()
需求:
在商品详情页面上,输入购买的数量,点击加入购物车,在购物车页面上展示里面所有的商品
分析:
涉及的实体:
购物车 购物车项 商品
购物车中的内容
购物车项的map集合(map<商品的id,购物车项>)
总金额
add2Cart(购物车项)
removeFromCart(String 商品的id)
clearCart()
购物项中的内容
商品对象
购买数量
小计
步骤分析:
1.商品详情页面,输入购买的数量,点击加入购物车
/store/cart?method=add&pid=??&count=??
2.在cartservlet中的add方法操作
先获取两个参数 pid 和 count
调用ProductService 通过id获取一个商品
拼装CartItem
Product–查询出来
count–传递过来了
suctotal–计算
3.获取购物车,调用add2Cart(cartitem)
4.页面跳转
重定向 /jsp/cart.jsp
案例2-对购物车进行操作(删除)
步骤分析:
1.在购物车页面上,点击删除
/store/cart?method=remove&pid=??
2.在cartServlet中编写remove
先获取商品的pid
获取购物车
删除购物车项
3.重定向到/jsp/cart.jsp
案例3-对购物车进行操作(清空购物车)
步骤分析:
1.在购物车页面上,有一个清空购物车的连接
/store/cart?method=clear
2.在cartServlet中需要提供 clear
先获取购物车
调用Clearcart方法
重定向 jsp/cart.jsp页面
3.判断购物车是否为空,
若为空:提示购物车空空如也
若不为空:展示
///
案例4-生成订单
需求:
在购物车页面上,有i一个提交订单,点击的时候,将用户购物车中的商品添加到数据库中.
实体:
用户
订单
订单项(中间表)
商品
创建表:
订单表
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;
创建bean
需要在order实体提供 user对象和list
需要在orderItem实体中提供 product对象和order对象
步骤分析:
点击生成订单:
/store/order?method=add
创建OrderServlet
add方法中:
1.判断用户是否登录,
2.封装数据 Order
oid 随机
total 购物车中的总金额
ordertime 当前时间
User session中当前用户
订单项集合List<OrderItem>
创建OrderItem,然后添加到list中
orderItem从那里来????????/
购物车中CartItem
name(先不管)
address(先不管)
telephone(先不管)
3.调用orderservice 生成订单
开启事务
先往订单表中插入一条数据
往订单项表中插入n条数据
提交事务
///
数据库备份:
图形化工具备份:
mysql数据库通过命令备份:不用登录数据库
mysqldump -uroot -p1234 store28>g:\1.sql
mysql数据库通过命令还原:
前提:手动的创建数据库
方式1:不用登录数据库
mysql -uroot -p1234 bak1<g:\1.sql
方式2:需要登录到指定的数据库上
source g:\1.sql