發(fā)布時(shí)間:2022-08-09 09:37:24
序言:寫作是分享個(gè)人見解和探索未知領(lǐng)域的橋梁,我們?yōu)槟x了1篇的電子商務(wù)特產(chǎn)銷售系統(tǒng)技術(shù)分析樣本,期待這些樣本能夠?yàn)槟峁┴S富的參考和啟發(fā),請(qǐng)盡情閱讀。
1引言
電子商務(wù)讓銷售與購(gòu)物變得簡(jiǎn)單方便,改變了傳統(tǒng)的買賣模式。而隨之快速發(fā)展壯大的網(wǎng)上商城應(yīng)用,更是把足不出戶就能購(gòu)買到心儀的商品變成了現(xiàn)實(shí)。人們可以不受時(shí)間限制和地域限制地在線購(gòu)買商品,商家也可以低成本開店,承擔(dān)很小的風(fēng)險(xiǎn)。本銷售系統(tǒng)與商城的購(gòu)物流程類似,滿足購(gòu)物的基本功能需求。在整個(gè)項(xiàng)目的設(shè)計(jì)中,主要有三大部分。一是數(shù)據(jù)庫;二是基于Java語言平臺(tái)的數(shù)據(jù)處理和邏輯控制;三是頁面結(jié)果顯示、界面設(shè)計(jì)。在設(shè)計(jì)過程中,C3P0技術(shù)、JavaBean技術(shù)、Servlet容器、JSP技術(shù)和Jquery框架起到重要作用,MVC模式將數(shù)據(jù)、邏輯、界面顯示分離,便于維護(hù)代碼。
2總體設(shè)計(jì)
該銷售系統(tǒng)中包括后臺(tái)管理和前臺(tái)用戶使用兩大模塊,并且各個(gè)模塊又分為幾個(gè)小的模塊。對(duì)于用戶來說,應(yīng)先注冊(cè)一個(gè)賬號(hào),然后登錄,這樣才能將相關(guān)信息關(guān)聯(lián)到個(gè)人。有的用戶作為游客也能瀏覽系統(tǒng),查看商品和系統(tǒng)信息動(dòng)態(tài),但是在將商品加入購(gòu)物車和收藏某個(gè)商品時(shí),就必須登錄。同時(shí),提供商品分類顯示功能,即把每個(gè)類別的商品放在一起,縮小瀏覽范圍。在查詢方面,還提供了搜索功能,用戶輸入商品名或者商品類目相關(guān)的關(guān)鍵字,使用模糊查詢,就可以查詢出商品,這樣更加方便快捷。在用戶購(gòu)買商品時(shí),看中一件商品就直接下單購(gòu)買,如果瀏覽到更好的商品,想取消訂單,還要與商家或者客服交流,操作麻煩。因此,使用購(gòu)物車可以暫時(shí)存下商品,經(jīng)過再三選擇后,就可以一起下單購(gòu)買。如果看到喜歡的商品,由于某些原因還不想立即購(gòu)買,還可以加入收藏,一直保存著。下單以后,想知道購(gòu)買了哪些商品,可以使用訂單中查看訂單詳情的功能。站在管理員的角度,有時(shí)需要系統(tǒng)維護(hù)公告、商品打折優(yōu)惠信息,為新出產(chǎn)品預(yù)熱,因此,還加入了信息動(dòng)態(tài)功能模塊。這些可以幫助用戶獲得更加真實(shí)有效的體驗(yàn)。管理員主要使用后臺(tái),管理用戶表、商品表、訂單表等以及動(dòng)態(tài)。此外,為了提高用戶體驗(yàn),要處理某些具體細(xì)節(jié)。一是,在系統(tǒng)首頁為用戶展示熱門商品;二是在信息動(dòng)態(tài)上增加了兩種排序方式,第一種是按時(shí)間排序,讓用戶看到最新動(dòng)態(tài),及時(shí)了解信息,第二種是按訪問量排序,讓用戶看到目前最火的優(yōu)惠打折或者即將上線的商品,增加商品銷售量;三是在用戶注冊(cè)時(shí),對(duì)每項(xiàng)注冊(cè)信息進(jìn)行校驗(yàn),比如,輸入已被注冊(cè)過的用戶名時(shí),會(huì)提示該用戶名已被占用;四是為用戶提供了收藏功能。
3使用的新技術(shù)分析
(1)MVC框架模式:它主要分為模型、視圖、控制器三層。提高了程序的可維護(hù)性、可移植性、可擴(kuò)展性與可重用性,降低了程序的開發(fā)難度。就本系統(tǒng)來說,Domian包中放的是實(shí)體類,主要提供屬性和get、set方法;Dao包放的接口interface,操作數(shù)據(jù)庫;Impl包存放了對(duì)接口的實(shí)現(xiàn);Service層為業(yè)務(wù)層,使用一個(gè)或多個(gè)模型執(zhí)行操作,減少在Controller層的代碼量;Controller層接收用戶的輸入并調(diào)用模型和視圖滿足用戶的需求;View層顯示結(jié)果內(nèi)容。這樣不僅使得整個(gè)開發(fā)流程清晰可見,也便于解決程序出現(xiàn)的問題。
(2)DbUtils和C3P0技術(shù):DbUtils主要是封裝了JDBC的代碼,簡(jiǎn)化了Dao層的操作。在使用傳統(tǒng)的Jdbc操作數(shù)據(jù)庫時(shí),會(huì)有大量重復(fù)代碼和操作,如數(shù)據(jù)庫連接對(duì)象、SQL語句操作對(duì)象,封裝結(jié)果集對(duì)象,這三大對(duì)象會(huì)重復(fù)定義,封裝數(shù)據(jù)的代碼重復(fù),釋放資源的代碼重復(fù)。每執(zhí)行一條語句就要獲取三大對(duì)象,再用循環(huán)把結(jié)果集放入集合中,還要使用get、set方法,當(dāng)一個(gè)實(shí)體類的屬性過多時(shí),會(huì)十分麻煩。而C3P0連接池,會(huì)把連接對(duì)象放入池中,用了直接取,用完后不關(guān)閉再放回池中。連接池進(jìn)行連接管理以及監(jiān)控,能提高程序性能。
4其他開發(fā)問題
(1)對(duì)于圖片上傳,使用了FileZillaServer和Nginx。FileZillaServer作為FTP工具,而Nginx反向,把服務(wù)器上的靜態(tài)文件通過HTTP協(xié)議展現(xiàn)給客戶端。
(2)使用了BeanUtils將一個(gè)MAP集合的數(shù)據(jù)拷貝到一個(gè)JavaBean對(duì)象中。但需要注意的問題是MAP集合的鍵名要與JavaBean的屬性名一致。
(3)在寫目錄樹結(jié)構(gòu)時(shí),準(zhǔn)備使用現(xiàn)成框架搭建,但使用Jquery也可以很快搭建起來。其中主要用的方法有hide和toggle,利用toggle方法切換元素的可見狀態(tài),當(dāng)被選元素可見時(shí),則隱藏這些元素,當(dāng)被選元素隱藏時(shí),則顯示這些元素。
5結(jié)語
本系統(tǒng)利用新技術(shù)簡(jiǎn)化了開發(fā)流程,提高了開發(fā)效率。在界面設(shè)計(jì)上,做到了簡(jiǎn)潔大方,交互性好。系統(tǒng)使用了MVC三層模式,各層次分別完成不同的任務(wù),層次清晰,便于維護(hù)。C3P0和DbUtils的結(jié)合使用,大大簡(jiǎn)化了數(shù)據(jù)庫操作,提高了系統(tǒng)整體性能。與傳統(tǒng)的開發(fā)模式相比,實(shí)現(xiàn)同一個(gè)功能,使用了更簡(jiǎn)單的方法,減少了代碼量,而且系統(tǒng)更加穩(wěn)定。