【javaWeb】第51天—— WEB实战项目三

回顾:
分类信息展示
包含
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值