基于WEB的網(wǎng)上書店系統(tǒng)論文-附帶源碼_第1頁
基于WEB的網(wǎng)上書店系統(tǒng)論文-附帶源碼_第2頁
基于WEB的網(wǎng)上書店系統(tǒng)論文-附帶源碼_第3頁
基于WEB的網(wǎng)上書店系統(tǒng)論文-附帶源碼_第4頁
基于WEB的網(wǎng)上書店系統(tǒng)論文-附帶源碼_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、目 錄摘要1關(guān)鍵詞1Abstract1Keywords1TOC o 1-3 h u HYPERLINK l _Toc21555 1 引言2 HYPERLINK l _Toc25341 1.1 課題意義2 HYPERLINK l _Toc4640 1.2 國內(nèi)外現(xiàn)狀2 HYPERLINK l _Toc12574 2 系統(tǒng)開發(fā)技術(shù)4 HYPERLINK l _Toc21023 2.1 相關(guān)技術(shù)4 HYPERLINK l _Toc8967 2.2 B/S 三層架構(gòu)4 HYPERLINK l _Toc18883 3 需求分析與系統(tǒng)設(shè)計6 HYPERLINK l _Toc28671 3.1 目標(biāo)與要求6

2、 HYPERLINK l _Toc11752 3.2 用戶特點6 HYPERLINK l _Toc29125 3.3 系統(tǒng)功能結(jié)構(gòu)描述6 HYPERLINK l _Toc16149 3.4 系統(tǒng)流程圖8 HYPERLINK l _Toc5987 3.5 系統(tǒng)頁面結(jié)構(gòu)8 HYPERLINK l _Toc27886 4 數(shù)據(jù)庫的設(shè)計 10 HYPERLINK l _Toc13146 4.1 MySql數(shù)據(jù)庫的簡介 10 HYPERLINK l _Toc9117 4.2 數(shù)據(jù)庫設(shè)計要點 10 HYPERLINK l _Toc19061 4.3 系統(tǒng)E-R關(guān)系圖 10 HYPERLINK l _Toc

3、19061 4.4 數(shù)據(jù)表結(jié)構(gòu) 14 HYPERLINK l _Toc30470 5 前臺模塊設(shè)計與實現(xiàn) 17 HYPERLINK l _Toc3348 5.1 用戶模塊 PAGEREF _Toc3348 17 HYPERLINK l _Toc18588 5.1.1 用戶注冊 PAGEREF _Toc18588 17 HYPERLINK l _Toc27167 5.1.2 用戶登錄 18 HYPERLINK l _Toc27167 5.1.3 訂單管理 19 HYPERLINK l _Toc27167 5.1.4 用戶登出 19 HYPERLINK l _Toc8056 5.2 主頁模塊和商品

4、檢索 20 HYPERLINK l _Toc3981 5.3 購物車模塊 22 HYPERLINK l _Toc17116 5.4 我的訂單 24 HYPERLINK l _Toc30540 5.4.1 訂單列表生成 24 HYPERLINK l _Toc25571 5.4.2 訂單確認(rèn) 25 HYPERLINK l _Toc25571 5.4.2 訂單生成 25 HYPERLINK l _Toc28077 6 后臺模塊設(shè)計與實現(xiàn) 27 HYPERLINK l _Toc24991 6.1 系統(tǒng)后臺框架設(shè)計 27 HYPERLINK l _Toc23948 6.1.1 管理員的設(shè)計 27 HYP

5、ERLINK l _Toc32620 6.1.2 系統(tǒng)后臺主頁面設(shè)計 28 HYPERLINK l _Toc16897 6.1.3 管理員登出 28 HYPERLINK l _Toc1552 6.2 用戶管理 29 HYPERLINK l _Toc16812 6.3 訂單管理 30 HYPERLINK l _Toc17398 6.3.1 訂單查看 30 HYPERLINK l _Toc14852 6.3.2 購物明細(xì)表 31 HYPERLINK l _Toc30893 6.4 商品管理 32 HYPERLINK l _Toc23844 6.4.1 商品查看 33 HYPERLINK l _To

6、c22220 6.4.2 添加新商品 34 HYPERLINK l _Toc16131 6.5 類別管理 35 HYPERLINK l _Toc5558 6.5.1 類別維護(hù) 35 HYPERLINK l _Toc12856 6.5.2 添加新類別 36 HYPERLINK l _Toc7637 7 總結(jié) 38 HYPERLINK l _Toc23942 參考文獻(xiàn) 39 HYPERLINK l _Toc16233 致謝 40基于WEB的網(wǎng)上書店系統(tǒng)的設(shè)計與實現(xiàn)網(wǎng)絡(luò)工程專業(yè)學(xué)生 xxxxxx指導(dǎo)教師 xxxxxx摘要:本系統(tǒng)采用B/S三層架構(gòu),主要實現(xiàn)前臺交易系統(tǒng)和后臺管理系統(tǒng)。前臺交易系統(tǒng)主要

7、包括用戶管理、商品展示、顧客留言、我的訂單、購物車管理,后臺管理系統(tǒng)主要包括用戶管理、訂單管理、類別管理、商品管理。系統(tǒng)主要采用了MVC軟件架構(gòu)思想,融入了Struts、JSP、Ajax、JQuery、Hibernate等典型WEB開發(fā)相關(guān)技術(shù),同時采用MySql數(shù)據(jù)庫和主流服務(wù)器Tomcat。系統(tǒng)的各個模塊設(shè)計合理,尤其是業(yè)務(wù)方法利用接口理念,這樣讓系統(tǒng)很靈活,具備了良好的擴(kuò)展性。 經(jīng)過不斷的改進(jìn)和調(diào)試,系統(tǒng)逐漸完善,最終完成了一個標(biāo)準(zhǔn)化的電子商務(wù)交易平臺。關(guān)鍵詞:電子商務(wù);JSP;網(wǎng)上購物The design and implementation of online bookstore s

8、ystem based on WEBStudent majoring in network engineering Xu XiaolongTutor LiYanpingAbstract:This system adopts B/S three-tier architecture, the main trading system and the background management system implementation at the front desk. Front desk trading system mainly include user management, commod

9、ity display, bookstore, my order, cart management, background management system mainly includes user management, order management, category management, commodity management. System mainly USES the MVC software architecture thoughts, JSP, struts, Ajax, JQuery, Hibernate, etc. The typical WEB developm

10、ent technology, USES the MySql database and mainstream Tomcat server at the same time. Various modules of the system design is reasonable, especially the business method using the concept of interface, which makes the system very flexible, have good scalability.After continuous improvement and debug

11、ging,the system is improved gradually and finally become a standardized electronic business transaction platform.Key words: E-commerce ;Java Server Pages;Online shopping1 引言1.1 課題意義網(wǎng)上書店是近年來隨著網(wǎng)絡(luò)技術(shù)的發(fā)展而產(chǎn)生的一種新型的書店形式,與傳統(tǒng)書店相比,網(wǎng)上書店擁有許多的優(yōu)勢。網(wǎng)上書店的誕生雖然只有短短的幾年時間, 卻以其獨有的網(wǎng)上運作特色和優(yōu)越服務(wù)得到迅速發(fā)展。我國網(wǎng)上書店的“前輩” 當(dāng)當(dāng)網(wǎng)如今已走過十度春秋

12、, 而中文網(wǎng)上書店已漸成氣候有關(guān)統(tǒng)計顯示,網(wǎng)店在我國圖書零售市場占據(jù)了約 5%的份額。作為大學(xué)中的一個計算機(jī)與信息工程系的學(xué)生,做一個電子商務(wù)網(wǎng)站是很有必要的。通過做一個完整的畢業(yè)設(shè)計,可以讓學(xué)生得到一個很好的鍛煉,可以讓學(xué)生把大學(xué)中所學(xué)的知識理論全部在這上面運用,同時結(jié)合實踐,提高動手能力,為以后走進(jìn)對應(yīng)的工作崗位有著非常重要的意義。1.2 國內(nèi)外現(xiàn)狀當(dāng)今世界網(wǎng)絡(luò)、通信和信息技術(shù)的發(fā)展,Internet在全球迅速普及,使得商業(yè)空間發(fā)展到全球的規(guī)模,同時也使得現(xiàn)代商業(yè)企業(yè)需要具有不間斷地供貨能力、不斷增長的客戶需求和不斷增長的全球競爭三大特征,這使得任何一個商業(yè)組織都必須調(diào)整自己的經(jīng)營方式和產(chǎn)

13、業(yè)結(jié)構(gòu),以適應(yīng)新的市場發(fā)展的需要。隨之出現(xiàn)了日益走入我們生活的網(wǎng)上購物。伴隨著Internet的蓬勃發(fā)展,網(wǎng)絡(luò)購物系統(tǒng)作為電子商務(wù)的一種形式正以其高效,低成本的優(yōu)勢,逐步成為新興的經(jīng)營模式和理念,人們已經(jīng)不再滿足用途信息的瀏覽和發(fā)布,而是渴望著能夠充分享受網(wǎng)絡(luò)所帶來的更加多的便利。網(wǎng)絡(luò)購物正適應(yīng)了當(dāng)今社會快節(jié)奏的生活,使顧客足不出戶便可以方便快捷輕松的選購自己喜歡的商品。網(wǎng)上購物系統(tǒng)作為B2B,B2C(Business to Customer),即(企業(yè)對消費者),C2C(Customer to Customer,即消費者對消費者)電子商務(wù)的前端商務(wù)平臺,在其商務(wù)活動全過程中起著舉足輕重的作用

14、。從長遠(yuǎn)來看,企業(yè)對消費者的電子商務(wù)將最終在電子商務(wù)領(lǐng)域占據(jù)重要地位。但是由于各種因素的治愈,目前以及比較長的一段時間內(nèi),這個層次的業(yè)務(wù)還只能占比較小的比重。它是以互聯(lián)網(wǎng)圍主要服務(wù)提供手段,實現(xiàn)公眾消費和提供服務(wù),并保證與其相關(guān)的付款方式的電子化,它是隨著萬維網(wǎng)的出現(xiàn)而迅速發(fā)展的,可以將其看作是一種電子化的零售。當(dāng)今歐美等發(fā)達(dá)國家電子商務(wù)發(fā)展迅速,先進(jìn)的技術(shù)服務(wù)使得他們國家的生活水平得到了更高層次的提升。中國目前也在趕上電子商務(wù)熱潮的腳步,政府也積極提倡并且支持電子商務(wù)技術(shù)的研發(fā),要跟上網(wǎng)絡(luò)時代的大潮流,電子商務(wù)的發(fā)展一定不能停滯。一個國家電子商務(wù)的發(fā)展程度可以反映出一個國家的信息技術(shù)水平和科

15、技水平。我國目前正處于持續(xù)發(fā)展中,相信在不久的未來可以涌現(xiàn)出更多像淘寶、京東等大型交易電子商務(wù)網(wǎng)站。2 系統(tǒng)開發(fā)技術(shù)2.1 相關(guān)技術(shù)HTML: Hypertext Markup Language超文本標(biāo)記語言。CSS: Cascading Style Sheets層疊樣式表,是一種標(biāo)記語言,它不需要編譯可以直接由瀏覽器執(zhí)行。JavaScript: 一種可以控制HTML元素的網(wǎng)絡(luò)腳本語言,也是一種在瀏覽器端執(zhí)行的解釋性編程語言,它具有靈活性好、功能強(qiáng)大的特點,是因特網(wǎng)上最流行的腳本語言。Ajax: 異步JavaScript及XML(Asynchronous JavaScript And XML)

16、,是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法,在瀏覽器與Web服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP請求),實現(xiàn)頁面局部刷新。JSP: Java Server Page,是SUN公司開發(fā)的一種服務(wù)器端動態(tài)頁面生成技術(shù),主要組成部分是html元素以及少量的java代碼。Servlet: SUN公司制定的一種用于擴(kuò)展web服務(wù)器功能的組件規(guī)范。Tomcat: Servlet容器,第三方開源門戶Apache公司實現(xiàn)了Servlet容器規(guī)范,用于執(zhí)行Servlet的服務(wù)器。MVC: 這是一種架構(gòu)模型。M表示Model層,V表示View層,C表示Controller層,Model層包括實體模型和業(yè)務(wù)操作,Controll

17、er用來控制用戶的所有請求和操作,View用來顯示請求的視圖。JSTL: Java Standard Taglib Library(Java標(biāo)準(zhǔn)標(biāo)簽庫),使得視圖頁面簡潔化,避免Java代碼和HTML元素的交錯復(fù)雜。Jquery:是一個開源的javascript框架,功能很強(qiáng)大,可以使編碼變得更加簡潔。Hibernate:開源的、用亍封裝數(shù)據(jù)訪問層的組件。B/S: 即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),B/S最大的優(yōu)點就是可以在任何地方進(jìn)行操作而不用安裝專門的軟件,只要有一臺能上網(wǎng)的電腦就能使用,客戶端 零維護(hù)。Struts:一種典型的MVC框架,本系統(tǒng)的主要靈魂。2.2 B/

18、S三層架構(gòu)三層B/S應(yīng)用模式是為了解決兩層結(jié)構(gòu)中存在的問題而提出的,在三層模式中,在瀏覽器和服務(wù)器之間引入了應(yīng)用層的概念,將應(yīng)用邏輯移到應(yīng)用層實現(xiàn),與傳統(tǒng)兩層B/S模式相比,三層有著可伸縮性好、可管理性強(qiáng)、安全性高、軟件重用性好以及節(jié)省開發(fā)時間等諸多優(yōu)點。三層結(jié)構(gòu)的應(yīng)用程序把業(yè)務(wù)邏輯獨立起來,組成一層或多層,這樣就形成了瀏覽器界面層、中間業(yè)務(wù)邏輯層和后端數(shù)據(jù)庫服務(wù)器層,3層B/S結(jié)構(gòu)如圖2-1所示。DB數(shù)據(jù)Web ServerBrowser事物安全業(yè)務(wù)層自己開發(fā)servlet通訊層標(biāo)準(zhǔn)化通訊層標(biāo)準(zhǔn)化圖2-1 3層B/S結(jié)構(gòu)圖3 需求分析與系統(tǒng)設(shè)計3.1 目標(biāo)與要求通用電子商務(wù)平臺的設(shè)計是為了讓

19、更多的企業(yè)擁有自己的網(wǎng)上交易活動,擴(kuò)展他們的經(jīng)營模式。作為一個商業(yè)性質(zhì)的電子商務(wù)平臺,系統(tǒng)必須滿足企業(yè)的業(yè)務(wù)要求,與企業(yè)的商業(yè)活動真正接軌,形成服務(wù)一體化。系統(tǒng)界面設(shè)計一定要友好,操作安全,服務(wù)方便快捷。系統(tǒng)總體流程必須合理規(guī)范,無邏輯錯誤。數(shù)據(jù)庫必須設(shè)計合理,數(shù)據(jù)的存儲一定要安全化。同時,這是一個網(wǎng)站,必須要考慮到服務(wù)器的承載壓力和訪問速度。作為一個大學(xué)生的畢業(yè)設(shè)計,它也必須符合大學(xué)生畢業(yè)設(shè)計的規(guī)范。3.2 用戶特點本系統(tǒng)的主要角色主要有三種:普通用戶(游客),注冊會員,系統(tǒng)管理員。不同的角色具有不同的權(quán)限,各角色權(quán)限如下:普通用戶:主頁訪問、圖書查詢、分類瀏覽。注冊會員:主頁訪問、圖書查詢

20、、分類瀏覽、購買商品、購物車結(jié)算、基本信息修改、查看訂單、打折優(yōu)惠等功能。系統(tǒng)管理員:,商品管理員(admin1),商品分類管理,商品管理,特價商品管理。,訂單管理員(admin2),訂單受理,訂單結(jié)算,訂單查看,訂單刪除。,會員管理員(admin3),會員級別更改,會員詳情查看,會員刪除。,系統(tǒng)管理員(admin4),修改管理員,刪除管理員。3.3 系統(tǒng)功能結(jié)構(gòu)描述本系統(tǒng)主要采用B/S三層模式,同時利用典型的MVC框架Struts設(shè)計完成。系統(tǒng)針對不同的角色,給予他們不同的操作權(quán)限,防止角色越權(quán)限進(jìn)行非法的操作。本系統(tǒng)主要包括前臺交易系統(tǒng)和后臺管理系統(tǒng),前臺功能如下:a. 用戶模塊,其中包括

21、用戶注冊、 登錄、 登出以及修改個人基本信息。b. 主頁顯示模塊,其中包括分類瀏覽、分頁查看、按照書名檢索。c. 購物車模塊,該模塊實現(xiàn)商品的添加、數(shù)量修改,商品刪除、清空、結(jié)算。d. 訂單模塊,該模塊實現(xiàn)訂單確認(rèn)、訂單列表、查看訂單和收件人等功能。后臺功能如下:a. 用戶管理,主要實現(xiàn)用戶列表、分頁顯示、用戶刪除、修改、添加、詳細(xì)顯示。 b. 訂單管理,主要實現(xiàn)訂單列表、 分頁顯示、 修改、 刪除、 結(jié)單、訂單購物明細(xì)。c. 商品管理,主要實現(xiàn)商品列表、分頁顯示、商品詳細(xì)信息、商品添加、刪除以及分類修改、商品基本信息修改。d. 類別管理,主要實現(xiàn)類別添加、刪除、修改等功能。e. 管理員安全退

22、出。系統(tǒng)功能結(jié)構(gòu)如圖3-1所示?;赪EB的網(wǎng)上書店系統(tǒng)前臺交易系統(tǒng)后臺管理系統(tǒng)商品展示購物車訂單管理管理員訂單模塊用戶模塊商品管理類別管理用戶管理信息修改會員登出會員登錄用戶注冊刪改查結(jié)單搜索訂單訂單列表個人訂單搜索類別類別列表增刪改查增刪改查用戶搜索用戶列表商品刷新分頁顯示分類瀏覽圖書檢索4訂單列表管理員登錄管理員登出重新分類商品搜索商品列表增刪改查查看訂單訂單確認(rèn)清空購物數(shù)量修改商品刪除恢復(fù)列表購物結(jié)算圖 3-1 系統(tǒng)功能結(jié)構(gòu)圖3.4 系統(tǒng)流程圖 對于本系統(tǒng)具體操作流程如圖3-2所示。商品瀏覽開始顧客留言 網(wǎng)站主頁購物車結(jié)算用戶登錄個人信息管理注冊 否 是訂單管理是后臺登錄后臺管理 圖3

23、-2 系統(tǒng)流程圖3.5 系統(tǒng)頁面結(jié)構(gòu) 系統(tǒng)主要展示主頁面,其它的頁面都是通過include指令包含到主頁面中,各頁面需要加載數(shù)據(jù)都是通過其在主頁面中的div標(biāo)簽想服務(wù)器發(fā)送請求。通過css/html的div標(biāo)簽讓各頁面在主頁面上融合顯示。主頁面主要包含以下頁面:hot.jsp(圖書熱銷頁面),new.jsp(新書上架頁面),category.jsp(圖書分類頁面)。熱銷圖書頁面hot.jsp是根據(jù)賣出的書的數(shù)量來進(jìn)行排序的,所以每次加載主頁面它都必須向服務(wù)器發(fā)送請求獲取最新數(shù)據(jù)。利用JQuery請求代碼如下:$(function()$(#hot).load(/hot.do););系統(tǒng)主頁面如圖

24、3-3所示。 圖 3-3 主頁面結(jié)構(gòu)圖 4 數(shù)據(jù)庫的設(shè)計4.1 MySql數(shù)據(jù)庫的簡介 MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),也是最受歡迎的開源SQL數(shù)據(jù)庫管理系統(tǒng),它由MySQL AB開發(fā)、發(fā)布和支持。 MySQL AB是一家基于MySQL開發(fā)人員的商業(yè)公司,它是一家使用了一種成功的商業(yè)模式來結(jié)合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的注冊商標(biāo)。 MySQL是一個快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器。從計算機(jī)可以很好的處理大量數(shù)據(jù)以來,數(shù)據(jù)庫管理系統(tǒng)就在計算機(jī)處理和獨立應(yīng)用程序或其他部分應(yīng)用程序中扮演著一個重要的角色。4.2 數(shù)據(jù)庫設(shè)計要點數(shù)據(jù)是一個系

25、統(tǒng)中的最終操作結(jié)果,因此數(shù)據(jù)庫的設(shè)計必須合理規(guī)范。數(shù)據(jù)庫的設(shè)計是系統(tǒng)的開發(fā)前提,一個數(shù)據(jù)庫設(shè)計的是否合理,直接關(guān)聯(lián)著整個系統(tǒng)的開發(fā),一旦數(shù)據(jù)庫設(shè)計出現(xiàn)問題,那么將會導(dǎo)致這個系統(tǒng)的開發(fā)受到嚴(yán)重阻礙。另外,數(shù)據(jù)操縱的安全性也要加以控制,防止數(shù)據(jù)外泄造成嚴(yán)重后果。4.3 系統(tǒng)E-R關(guān)系圖系統(tǒng)主要設(shè)計了member(用戶表),merchandise(產(chǎn)品表),category(類別表),orders(訂單表),admin(系統(tǒng)管理員),cart(購物車),leaveword(留言)7個數(shù)據(jù)表。系統(tǒng)E-R關(guān)系圖如圖4-1所示。商城查看訂單項包含訂單查看確認(rèn)用戶瀏覽購買管理管理產(chǎn)品關(guān)聯(lián)圖書管理管理員分類管

26、理類別 圖4-1系統(tǒng)E-R關(guān)系圖圖書表主要用來保存某本圖書的相關(guān)信息,與產(chǎn)品表相關(guān)聯(lián)如圖4-2所示。圖書表商品原價商品描述圖書名稱編號商品圖片商品型號出版社生成日期分類 圖4-2 圖書表圖(3)分類產(chǎn)品關(guān)系表主要用來表示產(chǎn)品和類別之間的關(guān)系,即某項產(chǎn)品是屬于哪一類別的。一個類別下可以包含多種產(chǎn)品,一項產(chǎn)品只能屬于一個類別,如圖4-3所示。 產(chǎn)品ID分類產(chǎn)品關(guān)系表分類ID編號圖4-3 分類產(chǎn)品圖(4)訂單主要用來保存用戶購買的物品,其中包括了收件人的備份信息。一個訂單包含許多訂單項,表示該訂單中的某一項物品如圖4-4所示。訂單狀態(tài)訂單編號會員名稱訂單信息下單時間購物商品圖4-4訂單信息圖(5)分

27、類表主要用來保存類別關(guān)系,包括一個類別的父類別以及該類別的所有子類別如圖4-5所示。分類名分類描述編碼商品分類 圖4-5商品分類圖產(chǎn)品表主要用來保存某項產(chǎn)品的相關(guān)市場信息,比如價格、是否買完等,與圖書表一對一關(guān)聯(lián),如圖4-6所示。產(chǎn)品名稱 編號上架時間 描述 產(chǎn)品表市場價特價圖4-6產(chǎn)品表圖(7)訂單項表主要用來表示某一個訂單中所購買物品的詳細(xì)情況,一個訂單項只對應(yīng)一張訂單表,如圖4-7所示。商品名稱 會員價 編號 訂單項 訂單號商品數(shù)目圖4-7訂單項圖 (8) 會員留言主要存放客戶的一些留言建議,如圖4-8所示。留言內(nèi)容留言時間顧客姓名留言標(biāo)題顧客留言圖4-8 顧客留言圖4.4 數(shù)據(jù)表結(jié)構(gòu)用

28、戶表member,主要包含用戶編號、郵箱、密碼、電話、昵稱、地址、注冊日期、最后登錄時間、登錄時間,該表字段說明如表4-1所示: 表4-1 用戶表(member)字段名稱類型約束描述idint(4)主鍵用戶IDemailvarchar(100)not null用戶郵箱LoginPwdchar(12)not null密碼MemberNamechar(20)not null昵稱PhoneChar(15)Default null電話 AddressVarchar(100)Default null地址RegDatedatetimedefault null注冊時間LastDateDatetimedefa

29、ult null最后登錄時間LoginTimesInt(4)default null登錄時間(2)商品表(merchandise),主要包含產(chǎn)品ID、產(chǎn)品名稱、描述、上架時間、市場價、優(yōu)惠價、關(guān)鍵字、出廠時間、產(chǎn)品圖片名稱,該表字段說明如表4-2所示: 表4-2 商品表(merchandise)字段名稱類型約束描述idint(4)pk,not null商品編號MerNameChar(40)not null商品名add_timebigint(20)defaultt nul上架時間pricedoublenot null市場價SPrice doublenot null優(yōu)惠價ManufacturerC

30、har(60)defaultt nul制造商Picturevarchar(100)default nul商品圖片名稱LeaveFactoryDateDatetimedefault null出廠時間(3)類別表(category),主要包含類別ID、類別名、類別描述,該表字段說明如表4-3所示:表4-3 類別表(category)字段名稱類型約束描述IDInt(4)PK類別IDCateNameChar(4)not null類別名CateDescvarchar(200)null 產(chǎn)品的描述(4)訂單表(orders),主要包含訂單編號、訂單狀態(tài)、訂單生成時間、收件人姓名,該表字段說明如表4-4所示

31、: 表4-4 訂單表(orders)字段名稱類型約束描述IDint(4)PK訂單號Memberint(4)not null收貨人OrderStatusint(4)not null發(fā)貨狀態(tài)OrderDatedatetimenot null下單時間(5)會員級別(memberlevel),主要包含主鍵ID、級別、優(yōu)惠,該表字段說明如表4-5所示: 表4-5 會員級別(memberlevel)字段名稱類型約束描述IDint(4)PK訂單號LevelNameChar(20)not null用戶IDfavourableint(4)not null優(yōu)惠5 前臺模塊設(shè)計與實現(xiàn)本系統(tǒng)主要包含前臺交易系統(tǒng)和后臺

32、管理系統(tǒng),其中前臺交易系統(tǒng)包括用戶模塊、主頁模塊、訂單模塊、購物車模塊,前臺功能結(jié)構(gòu)如圖5-1所示。 前臺交易模塊顧客留言購物車管理商品展示用戶管理我的訂單圖5-1 前臺交易模塊圖5.1 用戶模塊用戶模塊主要實現(xiàn)了用戶注冊、登錄/退出、修改信息、查看訂單等功能,用戶模塊結(jié)構(gòu)功能如圖5-2所示。 用戶模塊用戶注冊用戶登錄用戶信息修改用戶登出圖5-2用戶模塊圖5.1.1 用戶注冊 統(tǒng)一采用了JQuery(jquery-1.4.min.js)進(jìn)行表單數(shù)據(jù)基本驗證,注冊頁面reg.jsp表單中的數(shù)據(jù)只要有一項不符合驗證規(guī)則的數(shù)據(jù),則表單提交按鈕會提示。為了保證用戶注冊的用戶名在數(shù)據(jù)庫中是唯一的,使用了

33、Ajax技術(shù)向服務(wù)器發(fā)送異步請求,如果數(shù)據(jù)庫中已經(jīng)存在,則在頁面上提示用戶“此已經(jīng)用戶名被占用”的錯誤消息。5.1.2 用戶登錄 系統(tǒng)登錄界面需要輸入用戶名和密碼,如果密碼或者郵箱不對,則提示用戶相關(guān)錯誤信息。只要用戶成功登錄,則把當(dāng)前這個用戶對象加入到session當(dāng)中,同時記錄下當(dāng)前用戶的登陸時間,用戶登錄流程如圖5-3所示。輸入用戶名密碼登錄失敗登錄成功開始圖5-3用戶登錄流程圖 用戶登錄界面如圖5-4所示。圖5-4 用戶登錄界面圖 用戶成功登錄后,在主頁面上則會顯示用戶的昵稱,同時后邊只顯示安全退出按鈕。如果用戶沒有登錄,后邊則出現(xiàn)登錄/注冊按鈕,隱藏登出按鈕。這主要是利用了JSTL標(biāo)

34、簽來控制,我們只要判斷session中對應(yīng)的user是否為空,為空不顯示登出按鈕,登錄成功界面如圖5-5所示。圖5-5 登錄成功界面圖5.1.3 訂單管理點擊“訂單管理”,進(jìn)入訂單列表頁面。如果當(dāng)前用戶沒有下過訂單,則告訴用戶當(dāng)前還沒有您的訂單記錄;否則以列表的形式分頁列出當(dāng)前用戶的訂單記錄。點擊訂單后面相應(yīng)的詳情,則可以查看當(dāng)前訂單的購物明細(xì)表。查詢收件人菜單功能也是一樣,如果當(dāng)前用戶沒有在本商城下過訂單,則相應(yīng)的提示用戶“沒有你的收件人信息記錄”,用戶訂單管理如圖5-6所示。圖5-6訂單列表圖5.1.4用戶登出用戶登出主要是把session中當(dāng)前的user屬性設(shè)置為空,因為之前用戶登錄成功

35、的時候已經(jīng)把用戶user放入了session中。只要session中的user屬性為空,用戶則相當(dāng)于退出了系統(tǒng),失去很多權(quán)限進(jìn)行相關(guān)操作。5.2 主頁模塊該模塊主要包含分類瀏覽、商品檢索、熱銷圖書、新書上架等功能。主頁面采用了js中的setInterval函數(shù)每隔一段時間向服務(wù)器發(fā)送請求,達(dá)到頁面局部動態(tài)更新的效果。main.jsp頁面有圖書熱銷和新書上架圖書動態(tài)更新,主頁模塊功能結(jié)構(gòu)如圖5-7所示。商品展示新書上架分類瀏覽商品檢索熱銷圖書圖5-7商品展示圖本系統(tǒng)實現(xiàn)的是關(guān)鍵字檢索功能,用戶輸入商品名稱,點擊搜索,如果數(shù)據(jù)庫中沒有相應(yīng)的商品,提示用戶暫時沒有改商品;否則跳到搜索結(jié)果頁面,列出搜

36、索到的商品。如果用戶不輸入關(guān)鍵字,點擊搜索按鈕,則顯示所有的商品,主要采用js驗證,該搜索如圖5-8所示,搜索結(jié)果如圖5-9。圖5-8 圖書搜索圖圖5-9 搜索結(jié)果圖查詢實現(xiàn)代碼如下:public List browseMer(int pageSize, int pageNo, String hql) throws Exception Session session = MySessionFactory.getSession();Transaction t = null;List list = null;tryQuery query = session.createQuery(hql);que

37、ry.setMaxResults(pageSize);query.setFirstResult(pageNo-1)*pageSize);t = session.beginTransaction();list = query.list();mit();if (!Hibernate.isInitialized(list)Hibernate.initialize(list);catch(Exception e)if(t!=null)t.rollback();l(在執(zhí)行MerServiceImpl類中的browseMer方法時出錯:n);e.printStackTrace();finallysessi

38、o.close();return list;5.3 購物車模塊電子商務(wù)網(wǎng)站一般都有一個購物車功能,它必須設(shè)計合理,功能便捷。本系統(tǒng)的購物車主要是基于session,沒有考慮用戶禁止cookie的情況。要設(shè)計一個購物車,就必須分析購物車應(yīng)該具備哪些功能。設(shè)計購物車一般要實寫一個類,代表購物車中的一項物品。系統(tǒng)編寫了一個物品類Cart,其包含三個屬性:商品數(shù)目,商品實體、是否購買,購物車定義了一個屬性Map代表當(dāng)前購物車中的所有物品。購物車的功能包括商品數(shù)量修改,刪除、結(jié)算、清空、自動統(tǒng)計價格等功能,購物車功能結(jié)構(gòu)如圖5-10所示。 購物車商品數(shù)量修改恢復(fù)商品列表清空已買商品刪除商品添加商品自動統(tǒng)

39、計價格圖5-10 購物車功能結(jié)構(gòu)圖如果用戶沒有登錄點擊購買,則會提示用戶”沒有登錄,請先登錄,如果還未注冊,請先注冊后登錄“。 在商品列表購買商品的時候,如果成功購買,給出提示,如果用戶繼續(xù)點擊,則該物品在購物車中的數(shù)量加1。購買的商品操作,系統(tǒng)采用的是Ajax異步發(fā)送請求。傳統(tǒng)的點擊鏈接購買會刷新整個頁面,給用戶的感覺是非常不友好的,購物車管理如圖5-11所示。圖5-11 購物車管理圖購物車實現(xiàn)添加商品的方法:public ActionForward addCart(ActionMapping mapping, ActionForm form,HttpServletRequest reque

40、st, HttpServletResponse response) ActionForward forward = null;CartService cartService = new CartServiceImpl();MerService merService = new MerServiceImpl();ActionMessages msgs = new ActionMessages();Integer id = null;if (request.getParameter(id)!=null)id = new Integer(request.getParameter(id);try/判斷

41、會員是否已成功登錄Member mem = (Member)request.getSession().getAttribute(member);boolean status = false;Merchandise mer = null;if(mem=null)forward = mapping.findForward(memSorry);elseif (id!=null)mer = merService.loadMer(id);if (mer!=null)status = cartService.addCart(mem, mer, 1);if (status)msgs.add(addCartS

42、tatus,new ActionMessage(Constants.CART_ADD_SUC_KEY);elsemsgs.add(addCartStatus,new ActionMessage(Constants.CART_ADD_FAIL_KEY);forward = new ActionForward(/cart.do?method=browseCart);saveErrors(request, msgs);catch(Exception ex)(在執(zhí)行CartAction類中的addCart方法時出錯:n);ex.printStackTrace();return forward;5.4

43、我的訂單該模塊主要實現(xiàn)訂單生成、訂單確認(rèn),訂單完成。訂單生成流程如圖5-12所示。瀏覽商品用戶登錄購物車信息確認(rèn)訂單生成圖5-12 訂單流程圖5.4.1 訂單列表生成 用戶在購物車頁面中點擊購買后,則會跳轉(zhuǎn)到購物車管理頁面,前提是用戶必須已經(jīng)成功登錄,否則轉(zhuǎn)到登錄頁面提示用戶登錄后才能進(jìn)行操作。訂單生成功能主要是根據(jù)用戶在購物車中購買的物品生成訂單表格,其中會顯示用戶當(dāng)前購買的商品條目、數(shù)量、價格、總價等,以便用戶確認(rèn),此時用戶也可以點擊“清空購物”車取消此次操作。如果客戶想繼續(xù)購物,可點擊“繼續(xù)購物”進(jìn)入到商品列表,訂單列表生成頁面如圖5-13所示。圖5-13 訂單列表圖5.4.2 訂單確認(rèn)

44、 如果購物車信息確認(rèn)完畢,點擊“進(jìn)入下一步”跳轉(zhuǎn)到確認(rèn)訂單信息,包括收貨人、收獲地址、電話、郵編等信息的確認(rèn)。信息確認(rèn)如圖5-14所示。圖5-14 訂單信息確認(rèn)圖5.4.3訂單生成 如果信息填寫準(zhǔn)確無誤,點擊提交訂單則會跳轉(zhuǎn)到order_ok.jsp,提示用戶訂單已經(jīng)確認(rèn),系統(tǒng)已經(jīng)存入數(shù)據(jù)庫。提示頁面會提示用戶本次訂單的編號,用戶確認(rèn)是否已經(jīng)成功,可以到個人信息管理中心點擊查看訂單一欄查看是否存在剛才下過的訂單,訂單確認(rèn)頁面如圖5-15所示。圖5-15 訂單提交成功圖6 后臺模塊的設(shè)計與實現(xiàn) 一個完整的系統(tǒng)就必須具備方便快捷的前臺服務(wù)和完善的后臺管理功能。本系統(tǒng)也針對前臺交易系統(tǒng)設(shè)計了一個后臺

45、管理服務(wù),主要包括用戶管理、訂單管理、商品管理、類別管理、安全退出等幾個功能模塊,系統(tǒng)功能結(jié)構(gòu)如6-1圖所示。 后臺管理管理員登錄用戶管理訂單管理商品管理類別管理管理員圖6-1 后臺管理圖6.1.系統(tǒng)后臺框架設(shè)計6.1.1管理員的設(shè)計本系統(tǒng)提供了,四類后臺管理員,即商品管理員,訂單管理員,會員管理員,系統(tǒng)用戶管理員。管理員登錄頁面如圖6-2所示。圖6-2 管理員登錄圖登錄的核心代碼如下:public ActionForward login(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServlet

46、Response response) LoginForm loginForm = (LoginForm) form;AdminService service = new AdminServiceImpl();ActionForward forward = null;ActionMessages msgs = new ActionMessages();tryAdmin admin = service.adminLogin(loginForm.getLoginName(), loginForm.getLoginPwd();if (admin!=null)request.getSession().s

47、etAttribute(Admin, admin);forward = mapping.findForward(loginSuccess);elseforward = mapping.getInputForward();msgs.add(loginError,new ActionMessage(Constants.ADMIN_LOGINERROR_KEY);saveErrors(request, msgs);catch(Exception ex)(在執(zhí)行AdminLoginAction類中的login方法時出錯:n);ex.printStackTrace();return forward;6.

48、1.2 系統(tǒng)后臺主頁面設(shè)計輸入正確的用戶名和口令,則可以跳轉(zhuǎn)到后臺管理系統(tǒng)菜單,繼而進(jìn)行某些管理工作,也可以轉(zhuǎn)到前臺主頁訪問。系統(tǒng)管理主頁如圖6-3所示。圖6-3后臺主頁面圖6.1.3 管理員登出在主頁面上只要點擊安全退出,則會跳轉(zhuǎn)到管理員登錄界面adminLogin.jsp,同時把session中的manager屬性設(shè)置為空,代碼如下:request.getSession().invalidate();return mapping.findForward(logoutSuccess);6.2 用戶管理用戶管理主要包括用戶刪除、用戶詳細(xì)資料、修改會員級別基本等操作,用戶管理功能結(jié)構(gòu)如圖6-4所

49、示。 用戶管理刪除單個用戶用戶列表顯示用戶信息詳情用戶信息修改圖6-4 用戶管理圖6.3 訂單管理訂單管理主要實現(xiàn)了訂單列表的顯示,訂單的刪除、詳情、結(jié)算、受理等功能,訂單管理功能結(jié)構(gòu)如圖6-5所示。 訂單管理訂單 詳情顯示刪除單個訂單訂單列表顯示受理訂單信息結(jié)算單個訂單圖6-5 訂單管理圖6.3.1 訂單列表訂單查詢功能也是利用分頁技術(shù)顯示所有的訂單,然后每條訂單后面跟隨著查看訂單、受理訂單、刪除訂單,結(jié)單等功能菜單。訂單列表結(jié)果頁面如圖6-6所示。圖6-6訂單管理圖訂單管理代碼:public List browseOrder() throws Exception Session sessi

50、on = MySessionFactory.getSession();Transaction tx = null;List list = null;tryQuery query = session.createQuery(from Orders as a order by a.id desc);tx = session.beginTransaction();list = query.list();if (!Hibernate.isInitialized(list)Hibernate.initialize(list);mit();catch(Exception ex)if(tx!=null)tx

51、.rollback();(在執(zhí)行OrderServiceImpl類中的browseOrder方法時出錯:n);ex.printStackTrace();finallyMySessionFactory.closeSession();return list;6.3.2 購物明細(xì)表 在每條訂單記錄的菜單中點擊查看訂單,則可以看到該訂單的所有信息,包括訂單編號、金額、下單日期、會員級別、收貨人、訂單購物明細(xì)等。訂單詳情頁面如圖6-7所示。圖6-7訂單詳細(xì)信息圖查看訂單詳細(xì)信息代碼:public List browseOrderMer(Cart cart) throws Exception Sessio

52、n session = MySessionFactory.getSession();Transaction tx = null;List result = null;try/瀏覽購物車中的所有選購記錄String hql =from Cartselectedmer as a where a.cart=:cartid;Query query = session.createQuery(hql);query.setInteger(cartid, cart.getId().intValue();tx = session.beginTransaction();result = query.list()

53、;if(!Hibernate.isInitialized(result)Hibernate.initialize(result);mit();catch(Exception ex)if(tx!=null)tx.rollback();(在執(zhí)行OrderServiceImpl類中的browseOrderMer方法時出錯:n);ex.printStackTrace();finallyMySessionFactory.closeSession();return result;6.4 商品管理 商品管理主要功能包括商品列表、添加新商品、刪除、修改商品基本信息、修改分類、商品管理功能結(jié)構(gòu)如圖6-8所示。

54、商品管理添加新商品商品列表顯示商品詳情顯示修商品分類改修改商品信息圖6-8 商品管理圖6.4.1 商品查看該功能主要是分頁列出所有商品,每條商品記錄后面跟隨查看詳情、刪除商品、修改商品等操作。商品查看列表頁面如圖6-9所示。圖6-9 商品查看圖每條商品記錄后面都可以點擊相應(yīng)的功能操作,比如基本信息信息修改、刪除等。商品查看代碼:public List browseMer(String hql) throws Exception Session session = MySessionFactory.getSession();Transaction tx = null;List list = nu

55、ll;tryQuery query = session.createQuery(hql);tx = session.beginTransaction();list = query.list();mit();if (!Hibernate.isInitialized(list)Hibernate.initialize(list);catch(Exception ex)if(tx!=null)tx.rollback();(在執(zhí)行MerServiceImpl類中的browseMer方法時出錯:n);ex.printStackTrace();6.4.2 添加新商品 添加新商品,必須選擇一個類別目錄下添加

56、,同時必須是數(shù)據(jù)庫中已經(jīng)存在的類別。添加頁面book_add.jsp頁面表單中數(shù)據(jù)都必須校驗成功才能提交,提交成功后即可登入到前臺頁面查看剛才所添加的書籍時候存在,圖書添加頁面如圖6-10所示。圖6-10 新增商品圖圖書添加頁面使用了一個Ajax的典型技術(shù),那就是級聯(lián)動態(tài)下拉框。下拉列表中的數(shù)據(jù)不再是事先寫在Jsp頁面中,而是隨著用戶的點擊觸發(fā)加載的。 商品添加實現(xiàn)代碼:public boolean addMer(Merchandise mer) throws Exception Session session = MySessionFactory.getSession();Transacti

57、on tx = null;boolean status = false;trytx = session.beginTransaction();session.save(mer);mit();status = true;catch(Exception ex)if(tx!=null)tx.rollback();(在執(zhí)行MerServiceImpl類中的addMer方法時出錯:n);ex.printStackTrace();finallyMySessionFactory.closeSession();return status;6.5 類別管理類別管理功能主要包括添加新類別,刪除類別、修改類別信息、

58、查看詳情等功能,類別管理功能結(jié)構(gòu)如圖6-11所示。 類別管理添加新類別刪除單個類別修改類別信息類別列表顯示、 圖6-11 類別管理圖 6.5.1 類別維護(hù)點擊類別列表上的商品分類管理可以查看到所有類別的信息,包括類別商品分類名稱、商品分類描述、商品分類維護(hù)。類別維護(hù)中刪除商品分類會刪除掉該分類和該類所對應(yīng)的所有商品,修改商品分類可以修改該分類的基本信息。商品類別維護(hù)如圖6-12所示。圖6-12商品類別維護(hù)圖6.5.2 添加新類別添加新類別功能主要包括商品分類名稱、商品分類描述功能。添加類別頁面如圖6-13所示。圖6-13 新增商品分類圖新增商品分類實現(xiàn)代碼:public boolean addCategory(Category

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論