【javaWeb】第51天—— WEB實戰專案三

就叫一片白紙發表於2018-08-31

回顧:
分類資訊展示
包含
ajax
.get(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

相關文章