SSH实战 · 唯唯乐购项目(中)
生活随笔
收集整理的這篇文章主要介紹了
SSH实战 · 唯唯乐购项目(中)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用戶模塊 三:一級分類的查詢 創建一級分類表并導入基本數據 CREATE TABLE `category` ( `cid` int(11) NOT NULL AUTO_INCREMENT, `cname` varchar(255) DEFAULT NULL, PRIMARY KEY (`cid`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; 建包及相應的類: 對Service和DAO進行配置: 需要在IndexAction中注入一級分類的Service. 建表: 創建二級分類的表: CREATE TABLE `categorysecond` ( `csid` int(11) NOT NULL AUTO_INCREMENT, `csname` varchar(255) DEFAULT NULL, `cid` int(11) DEFAULT NULL, PRIMARY KEY (`csid`), KEY `FK936FCAF21DB1FD15` (`cid`), CONSTRAINT `FK936FCAF21DB1FD15` FOREIGN KEY (`cid`) REFERENCES `category` (`cid`) ) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8; 創建商品表: CREATE TABLE `product` ( `pid` int(11) NOT NULL AUTO_INCREMENT, `pname` varchar(255) DEFAULT NULL, `market_price` double DEFAULT NULL, `shop_price` double DEFAULT NULL, `image` varchar(255) DEFAULT NULL, `pdesc` varchar(255) DEFAULT NULL, `is_hot` int(11) DEFAULT NULL, `pdate` datetime DEFAULT NULL, `csid` int(11) DEFAULT NULL, PRIMARY KEY (`pid`), KEY `FKED8DCCEFB9B74E02` (`csid`), CONSTRAINT `FKED8DCCEFB9B74E02` FOREIGN KEY (`csid`) REFERENCES `categorysecond` (`csid`) ) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8; 建包及相應的類: 對Service和DAO進行配置: 需要在IndexAction中注入商品的Service. IndexAction? 調用 ? ProductService? 調用 ? ProductDao 點擊商品鏈接: * 傳遞商品id. 編寫Action: * 編寫Action類,繼承ActionSupport實現模型驅動接口. * 編寫一個執行的方法. 配置Action: * 在applicationContext.xml中配置Action * 在struts.xml中配置Action 在Action中調用Service完成根據ID進行查詢的方法: * 注入ProductService. * 完成查詢 在頁面上顯示相應數據 : * 頁面轉向 * 修改頁面 * 顯示數據 顯示數據時可以直接通過模型驅動的model對象拿數據。例如: src="${pageContext.request.contextPath}/<s:property?value="model.image"/>" <s:property?value="model.shop_price"/> 八:首頁上點擊一級分類,查詢商品列表:(左側一級分類和二級分類關聯查詢) 創建二級分類的包及類: 配置一級分類和二級分類的關聯關系: 點擊一級分類的鏈接: 編寫Action: 查詢商品,帶有分頁顯示商品 在工具包中封裝一個PageBean。 完成查詢: 配置二級分類和商品關聯關系——類似于一級分類月二級分類的配置。 注意:在頁面上從值棧中、模型驅動取PageBean不用加#;從session中取值需要加#. 十:商品分類頁面根據二級分類ID查詢商品 點擊二級分類鏈接: 編寫Action : 調用Service完成查詢: 在頁面中進行顯示 購物車模塊 一:創建表、包結構及映射文件。 二:將商品添加進購物車 封裝購物車對象
- com.weiwei.shopping.category
- action :CategoryAction
- service :CategoryService:業務層對象?
- dao :CategoryDao:持久層對象?
- vo :Category:實體對象 ;Category.hbm.xml:映射文件?
- com.weiwei.shopping.category
- 在DAO中注入sessionFactory
- 在Service中注入DAO
- IndexAction ? 調用 ? CategoryService ? 調用 ? CategoryDao
- 將一級分類的數據顯示到頁面
- 將一級分類的數據存入到session中:因為之后很多頁面都會用到。
- com.weiwei.shopping.product
- action :ProductAction
- service :ProductService:業務層對象?
- dao :ProductDao:持久層對象?
- vo :Product:實體對象 ;Product.hbm.xml:映射文件?
- com.weiwei.shopping.product
- 在DAO中注入sessionFactory
- 在Service中注入DAO
- IndexAction ?調用 ?ProductService ?調用 ?ProductDao
- 查詢熱門商品
- is_hot: 0:不是熱門商品 ?1:是熱門商品;
- 查詢帶有個數
- 分頁查詢
- 將查詢到的數據保存到值棧中
- 查詢最新商品:
- 按商品上傳日期倒序進行排序 只顯示10個.
- 將查詢到記錄保存到值棧中:
- com.weiwei.shopping.categorysecond
- action :CategorySecondAction?
- service :CategorySecondService?
- dao :CategorySecondDao?
- vo :CategorySecond?
- CategorySecond.hbm.xml
- com.weiwei.shopping.categorysecond
- Category.xml
- CategorySecond.hbm.xml
- 傳遞一級分類的cid,根據cid查詢所有商品.
- 接收cid:
- 編寫一個執行的方法:因為再ProductService中已經做了FindAll()方法,所以在這里直接注入ProductService 調用方法,然后返回字符串進行頁面跳轉。
- 在頁面上用迭代標簽迭代顯示左側分類 ;
- 關聯查找:直接從session中獲得一級分類的數據,需要在映射文件中配置一級分類上二級分類的集合(lazy="false"?);并且為了數據順序不變,按二級分類的遍號排序顯示(order-by="csid"?)。
- 回到商品列表頁面
- 需要查詢:商品集合,當前頁數,總頁數(總記錄數),每頁顯示記錄數.( 將后臺的這些數據帶到頁面上,首選:值棧 )
- 將這些數據封裝到一個分頁類中。(最后將分頁類保存到值棧中就OK)。
- 傳遞當前頁數到ProductAction中,提供set方法;
- 調用ProductService的FindByPageCid()方法完成查詢;參數:Cid,page;
- 傳遞csid
- 傳遞page=1
- 接收csid:
- 接收page
- 封裝成PageBean
- Cart:購物車對象
- CartItem的集合
- total:總計 = 小計相加
- 功能:
- 將購物項添加到購物車
- 從購物車中移出購物項
- 清空購物車
- CartItem:購物項
- Product:商品信息
- count:購買某種商品的數量
- subtotal:購買某種商品的小計=單價*數量(Product.shop_price*count)
- 在CartAction中:
- 獲得購物車
- 調用clearCart()方法
- 在頁面上:
- 用struts迭代標簽判斷
- 若購物車為空則不顯示相關按鈕、表單
- 若不為空則顯示表單、相關商品
- 用struts迭代標簽判斷
- 在CartAction中:
- 點擊頁面的移出鏈接,傳入pid
- 在CartAction中:
- 獲得購物車
- 調用removeCart()方法
- com.weiwei.shopping.order
- action :OrderAction?
- service :OrderService?
- dao :OrderDao?
- vo :
- Order?
- Order.hbm.xml
- OrderItem
- OrderItem.hbm.xml
- applicationContext.xml
- 配置映射
- OrderAction ? 調用 ? OrderService ? 調用 ? OrderDao
- 實現提交訂單時頁面的跳轉:修改我的購物車頁面的提交按鈕鏈接,再編寫OrderAction、配置struts.xml
- 生成訂單
- 保存訂單的數據
- 在頁面中顯示訂單數據
- 通過模型驅動的對象將數據傳遞到頁面.(原理還是值棧)
- 我的訂單
- 根據用戶的uid查詢當前用戶的所有的訂單
- 在線付款原理圖:
- 在線付款流程分析
- 本項目付款功能流程
- 跳轉到頁面:根據訂單的oid查詢訂單.
- 在頁面中對其進行付款
- 付款功能的實現
- 在線支付的方式
- 在線支付
- 與第三方支付公司對接:(易寶)
- 在線支付的流程
- 付款功能代碼實現
- 修改訂單數據:(收貨人,地址,電話)
- 完成付款的功能
轉載于:https://www.cnblogs.com/panweiwei/p/6245743.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的SSH实战 · 唯唯乐购项目(中)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: my-innodb-heavy-4g.c
- 下一篇: python学习笔记(python介绍)