基于BS架構(gòu)的海淘網(wǎng)站的設計與實現(xiàn)_第1頁
基于BS架構(gòu)的海淘網(wǎng)站的設計與實現(xiàn)_第2頁
基于BS架構(gòu)的海淘網(wǎng)站的設計與實現(xiàn)_第3頁
基于BS架構(gòu)的海淘網(wǎng)站的設計與實現(xiàn)_第4頁
基于BS架構(gòu)的海淘網(wǎng)站的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于B/S架構(gòu)的海淘網(wǎng)站的設計與實現(xiàn)【摘要】本論文主要對網(wǎng)上海淘網(wǎng)站的設計與開發(fā)進行了一些闡述,蘊含了系統(tǒng)的設計和完成一共兩個大布局,設計布局主要對系統(tǒng)和數(shù)據(jù)庫的剖析與設計進行了形容;實現(xiàn)次要部分包括系統(tǒng)的各個性能的實現(xiàn)。網(wǎng)上海淘網(wǎng)站包含了兩大模塊:前臺用戶模塊和后端管理員模塊,前臺用戶能夠經(jīng)過瀏覽器客戶端頁面進行登陸和一系列的購物操作。后端管理員能夠檢查一切用戶的所有信息;能夠?qū)W(wǎng)站中所有的商品分類進行修正,同時也能夠?qū)λ杏脩舻挠唵涡螒B(tài)進行查看。系統(tǒng)前臺經(jīng)過html+css、JSP技術(shù)完成,應用html+css技術(shù)渲染頁面,使用JSP技術(shù)實現(xiàn)動態(tài)效果,后臺基于java技術(shù)和Eclipse(朱諾)和tomcat7開發(fā),后臺使用SpringMVC、Spring、MyBatis對數(shù)據(jù)進行封裝和操作,該系統(tǒng)運用MySql數(shù)據(jù)庫進行數(shù)據(jù)的管理和維護。頁面美觀,使用方便?!娟P(guān)鍵詞】:MySql數(shù)據(jù)庫;Java;SSM;網(wǎng)上海淘系統(tǒng)【Abstract】ThispapermainlydiscussesthedesignanddevelopmentoftheonlineShanghaiTaosystem,includingthedesignandimplementationoftwoparts,thedesignpartmainlydescribestheanalysisanddesignofthesystemanddatabase,andtheimplementationpartmainlyincludestherealizationofeachfunctionofthesystem.Theonlineshoppingsystemincludestwomodules:thefront-endusermoduleandtheback-endadministratormodule.Thefront-endusercanloginthroughthebrowserclientpageandaseriesofshoppingoperations.Backgroundadministratorscanviewalltheinformationofallusers;theycanmodifyallthecategoriesofgoodsinthewebsite,andtheycanalsoviewtheorderstatusofallusers.ThefrontdeskofthesystemdisplaysdatathroughJSPpages.ThebackdeskisdevelopedbasedonJavatechnologyandeclipse(Juno)andTomcat7.x.ThefrontdeskusesHTML+CSStechnologytorenderpages.Thebackdeskusesspringmvc,springandmyBatistoencapsulateandoperatedata.ThesystemusesMySql5.Xdatabasetomaintaindata.Thepageisbeautifulandeasytouse.[Keywords]:MySqldatabase;JAVA;SSM;onlinesearchsystem目錄29851_WPSOffice_Level1一、緒論 16204_WPSOffice_Level2(一)研究背景 114552_WPSOffice_Level2(二)目的和意義 119448_WPSOffice_Level2(三)開發(fā)工具及技術(shù) 111631_WPSOffice_Level1二、需求分析 32931_WPSOffice_Level2(一)功能需求分析 312638_WPSOffice_Level31.網(wǎng)站前臺功能 327175_WPSOffice_Level32.網(wǎng)站后臺功能 316609_WPSOffice_Level2(二)性能分析 330558_WPSOffice_Level2(三)系統(tǒng)用戶用例圖 410772_WPSOffice_Level31.用戶用例圖 415582_WPSOffice_Level32.管理員用例圖 415218_WPSOffice_Level1三、系統(tǒng)設計 513264_WPSOffice_Level2(一)系統(tǒng)的總體設計 527173_WPSOffice_Level2(二)數(shù)據(jù)庫的分析與設計 513206_WPSOffice_Level31.數(shù)據(jù)庫概念設計 69146_WPSOffice_Level32.數(shù)據(jù)庫物理結(jié)構(gòu) 7537_WPSOffice_Level1四、系統(tǒng)主要功能實現(xiàn) 1124076_WPSOffice_Level2(一)系統(tǒng)注冊頁面實現(xiàn) 116829_WPSOffice_Level31.客戶端用戶注冊 111572_WPSOffice_Level2(二)系統(tǒng)登錄頁面實現(xiàn) 1212528_WPSOffice_Level31.用戶登錄 126708_WPSOffice_Level32.用戶登錄 1327483_WPSOffice_Level2(三)系統(tǒng)前臺功能實現(xiàn) 1413119_WPSOffice_Level31.一級分類模塊 1420797_WPSOffice_Level32.商品模塊 1621257_WPSOffice_Level33.購物模塊 2122812_WPSOffice_Level34.訂單模塊 2412522_WPSOffice_Level35.留言模塊 261564_WPSOffice_Level2(四)系統(tǒng)后臺功能實現(xiàn) 2724739_WPSOffice_Level31.用戶模塊 2713028_WPSOffice_Level32.一級分類模塊 281555_WPSOffice_Level33.二級分類模塊 328292_WPSOffice_Level34.商品分類模塊 35199_WPSOffice_Level35.留言管理模塊 3820683_WPSOffice_Level1五、系統(tǒng)測試與維護 3920390_WPSOffice_Level2(一)系統(tǒng)測試環(huán)境 3932530_WPSOffice_Level31.硬件環(huán)境 3917096_WPSOffice_Level32.軟件環(huán)境 3916359_WPSOffice_Level2(二)系統(tǒng)測試內(nèi)容 3930003_WPSOffice_Level2(三)系統(tǒng)維護 3932519_WPSOffice_Level1六、總結(jié) 415459_WPSOffice_Level1七、參考文獻 4225666_WPSOffice_Level1八、致謝 43圖3-5訂單實體圖(四)系統(tǒng)用戶用例圖1.用戶用例圖用戶為系統(tǒng)的使用者,按照要求填寫所需信息完成注冊然后在登錄進行一系列的購物操作。圖2-1用戶用例圖管理員用例圖管理員權(quán)重最高,可檢查用戶信息及整理數(shù)據(jù),網(wǎng)站商品顯示的增刪改查,更換圖片,所有商品所屬一級二級分類的修改。圖2-2管理員用例圖三、系統(tǒng)設計(一)系統(tǒng)的總體設計該網(wǎng)站采用B/S模式,整個系統(tǒng)的構(gòu)建基于ssm(Spring+SpringMVC+)+MyBatis)整合框架。JavaEE結(jié)構(gòu)深入分析研究項目的技術(shù)中選取的個個框架。SpringMvc是一個web端框架。Mybatis為ORM輕量級的持久層的框架,以面向?qū)ο蟮姆绞教峁┝擞谰檬褂玫臄?shù)據(jù)庫之間的映射。同時具有IOC和AOP思想的Spring是值得很多架構(gòu)師學習的一種輕量級框架。根據(jù)以上這三大設計框架的結(jié)合來搭建可擴展,可移植,可維護的軟件系統(tǒng)。說道開源框架,現(xiàn)階段技術(shù)相對完善,模式先進的框架是SSM框架。SSM不同的是不僅延續(xù)了EJB的優(yōu)勢而且還提高了項目研發(fā)及執(zhí)行上的效率的輕量級框架,更值得一學的是它對于初級開發(fā)者來說更容易掌握學習?,F(xiàn)階段SSM框架通過不斷地進行完善改化,程序執(zhí)行效果明顯。該系統(tǒng)功能模塊結(jié)構(gòu)圖:圖3-1系統(tǒng)功能模塊結(jié)構(gòu)圖(二)數(shù)據(jù)庫的分析與設計數(shù)據(jù)庫就像是我們認為的存儲的一個倉庫,它不同的是用來存儲一些信息化數(shù)據(jù)。從發(fā)展的歷史歷程來看,正是文件管理系統(tǒng)成就數(shù)據(jù)庫的不斷發(fā)展與完善。數(shù)據(jù)庫的基本結(jié)構(gòu)可以分為三個層次包括物理數(shù)據(jù)層、概念數(shù)據(jù)層、邏輯數(shù)據(jù)層。由于映射之間的轉(zhuǎn)化使數(shù)據(jù)庫各個層次緊密的聯(lián)系在一起,數(shù)據(jù)庫的特點包括實現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)的冗余度、數(shù)據(jù)的獨立性、數(shù)據(jù)實現(xiàn)集中控制、數(shù)據(jù)一致性和可維護性。該網(wǎng)站運用的是Mysql5.0版本的數(shù)據(jù)庫,該網(wǎng)站的所有與數(shù)據(jù)庫相關(guān)的開發(fā)都遵循Mysql5.0數(shù)據(jù)庫開發(fā)原則。數(shù)據(jù)庫設計(1)我為該系統(tǒng)設計了7張表,在這里列出7張表分別為如下所示:表3-1各數(shù)據(jù)庫描述數(shù)據(jù)表描述adminuser后臺管理員表category一級分類表categorysecond二級分類表orderitem訂單項表orders訂單表product商品表user前臺用戶表(2)管理員表主要記錄了管理員的基本消息,表結(jié)構(gòu)如表3-2所示。表3-2管理員表數(shù)據(jù)類型允許空值(默認NO)自動遞增備注idint(11)YESYES賬號usernamevarchar(1000)NONO用戶名passwordvarchar(1000)NONO密碼(3)一級分類表主要記錄了一級分類的基本信息,表結(jié)構(gòu)如圖3-3所示。表3-3一級分類表數(shù)據(jù)類型允許空值(默認NO)自動遞增備注cidint(11)YESYES一級分類IDcnamevarchar(1000)NONO一級分類名(4)二級分類表主要記錄了二級分類的基本信息,表結(jié)構(gòu)如圖3-4所示。表3-4二級分類表數(shù)據(jù)類型允許空值(默認NO)自動遞增備注Csidint(11)YESYES二級分類idCsnamevarchar(1000)NO二級分類名稱cidvarchar(1000)NO所屬一級分類id訂單項表主要記錄了訂單項的基本信息,表結(jié)構(gòu)如圖3-5所示。表3-5訂單項表-數(shù)據(jù)類型允許空值(默認NO)自動遞增備注Oiidint(11)YESYES訂單項idcountvarchar(1000)購買數(shù)量subtotaldouble單項總價idPidint(11)所購商品idcidint(11)所屬訂單id(6)訂單表主要記錄了訂單的基本信息,表結(jié)構(gòu)如圖3-6所示。表3-6訂單信息表-數(shù)據(jù)類型允許空值(默認NO)自動遞增備注oidint(11)YESYES訂單idmoneydouble訂單總價stateInt(11)訂單狀態(tài)ReceiveinfoVarchar(255)收貨地址phonumVarchar(255)收貨人電話Order_timedatetime下單時間UidInt(11)所屬用戶id(7)商品表主要記錄了商品的基本信息,表結(jié)構(gòu)如圖3-7所示。表3-7商品信息表-數(shù)據(jù)類型允許空值(默認NO)自動遞增備注Pidint(11)YESYES商品idPnameVarchar(255)商品名稱Market_priceInt(11)市場價Shop_priceVarchar(255)商城價imageVarchar(255)商品圖片PdescVarchar(255)商品描述Is_hotint(11)是否熱門Pdatedatetime商品上架日期csidint(11)所屬二級分類id前臺用戶表主要記錄了前臺用戶的基本信息,表結(jié)構(gòu)如圖3-8所示。表3-8前臺用戶信息表-數(shù)據(jù)類型允許空值(默認NO)自動遞增備注Uidint(11)YESYES用戶idUsernameVarchar(255)用戶名passwordVarchar(255)用戶密碼NameVarchar(255)用戶真實姓名EmailVarchar(255)用戶游戲PhoneVarchar(255)用戶手機號AddrVarchar(255)用戶地址Stateint(11)用戶狀態(tài)小結(jié):本章主要是對數(shù)據(jù)庫進行了設計和說明。對數(shù)據(jù)庫的概念設計思路和物理結(jié)構(gòu)進行了詳細的說明,并對數(shù)據(jù)庫中涉及到的實體進行了說明。四、系統(tǒng)主要功能實現(xiàn)(一)系統(tǒng)注冊頁面實現(xiàn)1.客戶端用戶注冊進入該網(wǎng)站,用戶看到展示頁面,上面有注冊功能,點擊“注冊”,將出現(xiàn)注冊頁面,填寫用戶信息,點擊注冊按鈕進行注冊,注冊完之后保存數(shù)據(jù)庫表中,即可登錄網(wǎng)站。注冊效果如圖4-1所示:圖4-1客戶端用戶注冊界面(二)系統(tǒng)登錄頁面實現(xiàn)1.用戶登錄使用者在進入網(wǎng)站實行注冊用戶名后,然后使用準確的用戶名和密碼在客戶端進行登錄操作,登陸成功后即可進行購物程序程序運行如下圖4-2所示:圖4-2登錄頁面為實現(xiàn)登錄功能,需要編寫相關(guān)的頁面程序,接著點“登錄”按鈕,瀏覽器跳轉(zhuǎn)到登錄頁面時用戶可以填寫用戶名和密碼進行登錄。當用戶填寫用戶名并使光標移開時,觸發(fā)onblur()事件,進行ajax異步請求,判斷用戶名是否可以登錄。用戶在填寫驗證碼時,可以點擊圖片,進行更換驗證碼然后觸發(fā)onclick="change()"事件進行更換,當用戶點擊“登錄”按鈕時,服務器進行數(shù)據(jù)判斷,如果用戶名和密碼都正確則跳轉(zhuǎn)到首頁并顯示該用戶的用戶名,反之錯誤信息將由信息存儲的.jsp頁面顯示出。2.用戶登錄若管理員需要進行訪問操作,可以在后臺使用正確的方式便可成功進入登錄頁面,若在訪問的過程中出現(xiàn)admin路徑,并非是訪問的頁面,則系統(tǒng)自動跳轉(zhuǎn)到admin.jsp頁面,然后,輸入正確的用戶名、密碼進行登錄,如果出錯,服務器會在登錄界面顯示引起問題的錯誤提示;如果正確,則跳轉(zhuǎn)到管理員頁面。程序運行結(jié)果如圖所示,圖4-3顯示了管理員登錄的頁面,圖4-4顯示的是管理員登錄成功后的主頁面:圖4-3后臺登錄頁面圖4-4管理員頁面(三)系統(tǒng)前臺功能實現(xiàn)網(wǎng)站前端頁面包括首頁一級分類,熱門商品,顯示最新產(chǎn)品,二級分類顯示這幾部分,登錄后的用戶的訂單以及用戶所操作過的購物的展示,其中一級分類和二級分類在各個頁面中都有所設計,因此這里采用的是頁面包含技術(shù)。1.一級分類模塊(1)查詢一級分類本系統(tǒng)中首頁顯示的一級分類都是存放于數(shù)據(jù)庫中,當用戶訪問該網(wǎng)站首頁的同時就查詢了一級分類。一級分類頁面如圖4-5所示:圖4-5一級分類顯示網(wǎng)站主頁展現(xiàn)的是一級分類部分,當用戶訪問index.action時,最終跳轉(zhuǎn)至系統(tǒng)主頁,跳轉(zhuǎn)之前,服務器內(nèi)部已經(jīng)進行了一級分類的查詢,并將已經(jīng)查詢到的以及分類存放于List集合中,最終,被存放在session域中。(2)查詢某個一級分類該系統(tǒng)首頁被用戶進入后,用戶當點擊一級分類時就要求查詢系統(tǒng)在下一個頁面中顯示出該一級分類中包含的所有二級分類。如下圖4-6二級分類頁面:圖4-6二級分類當用戶點擊首頁中的一級分類時系統(tǒng)則根據(jù)此一級分類的id查詢出該一級分類下所有的二級分類,并存放于session域中,將頁面進行跳轉(zhuǎn),并進行展示。主要代碼:2.商品模塊(1)查詢最熱商品當用戶訪問該網(wǎng)站時第一個是網(wǎng)站的首頁,首頁中將顯示本網(wǎng)站中最熱的商品。如下圖4-7:圖4-7首頁熱門商品展示用戶訪問首頁index時,根據(jù)路勁“/index.action”首先調(diào)用的是系統(tǒng)的index.action,最后跳轉(zhuǎn)至系統(tǒng)的主頁,因為最熱商品顯示于首頁中,因此在頁面跳轉(zhuǎn)之前必須前往數(shù)據(jù)庫查詢出本系統(tǒng)中所有的熱門商品,因此使用了findHotProduct()這個方法,由于首頁中僅僅顯示了最新商品中的前十個,因此這里是使用的分頁查詢,最終查詢的結(jié)果是一個list集合,最終保存在Model中。前段控制層代碼:(2)查詢最新商品當用戶訪問該網(wǎng)站時,首先顯示的是網(wǎng)站的首頁,首頁中將顯示本網(wǎng)站中最新的商品。如下圖4-8:圖4-8首頁最新商品用戶訪問首頁index時,根據(jù)路勁“/index.action”首先調(diào)用的是系統(tǒng)的index.action,最后跳轉(zhuǎn)至系統(tǒng)的首頁index.jsp,因為最新商品和最熱商品一樣都是顯示于首頁中,因此在頁面跳轉(zhuǎn)之前必須前往數(shù)據(jù)庫查詢出本系統(tǒng)中所有的最新商品,因此使用了findNewProduct()這個方法,查詢最新商品的依據(jù)是商品被上傳的時間,根據(jù)時間來進行排序,因為首頁運用分頁查詢的計算方法將數(shù)據(jù)信息組成list集合,用Model來儲存這些信息。主要代碼:前端控制層代碼: (3)查詢分類商品用戶在點擊首頁的一級分類時,系統(tǒng)自動跳轉(zhuǎn)頁面,同時要求在右面顯示某個二級分類下的商品。如下圖4-9:圖4-9查詢某個分類商品第一步,導進頁面,下的商品使用的是一個category.jsp展示頁面為的是供頁面和查詢二級產(chǎn)品分類采用。當用戶點擊按鈕時,客戶端向服務器請求發(fā)送請求并攜帶一級分類的主鍵id,因此服務器端應該接受參數(shù)并使用這個參數(shù)來調(diào)用方法然后去數(shù)據(jù)庫進行查詢數(shù)據(jù),最后將查詢出的數(shù)據(jù)把保存于Model中,最后跳轉(zhuǎn)頁面。由于頁面大小的關(guān)系,這里僅僅顯示12個商品,因此這里采用了分頁查詢,并在右下角設置相應的按鈕,方便用戶來回查看該分類下所有的商品。主要代碼:前端控制層接收參數(shù)并調(diào)用service層代碼:(4)查詢二級分類商品用戶在點擊首頁的一級分類時,系統(tǒng)自動跳轉(zhuǎn)頁面,并且在頁面的左面顯示所有一級分類包含的二級分類,同時要求在右面顯示某個二級分類下的商品。如下圖4-9:圖4-10查詢某個二級分類商品由于需要顯示部分二級分類下的產(chǎn)品,第一步進行category.jsp頁面編程,由于二級分類再被用戶點擊時網(wǎng)站對相應的action進行訪問,并且攜帶參數(shù)(相應二級分類的主鍵id),到前端控制層,然后findCategorySecond1()方法接收主鍵id和分頁的數(shù)目去product表查詢商品,最終將查詢到的結(jié)果存放于Model中。由于頁面大小的關(guān)系,這里僅僅顯示12個商品,因此這里采用了分頁查詢,并在右下角設置相應的按鈕,方便用戶來回查看該分類下所有的商品。前端控制層接收參數(shù)并調(diào)用service層:(5)查詢商品信息當該網(wǎng)站被用戶瀏覽并且產(chǎn)品的詳細信息被查看時,所展現(xiàn)的產(chǎn)品信息頁面。如圖4-11所示:圖4-11某個商品的具體信息首先編寫頁面,這里使用的是product.jsp,在這個頁面中顯示了以及分類的信息,還有每個一級分類下的二級分類,右下方是某個商品的具體信息,其中包括商品的名稱,商品的商城價和市場價,包括一個選擇框,用于用戶選擇購買數(shù)量,最下面則是商品的具體介紹。當用戶點擊某個想要查看的商品圖片時,其實就是點擊了某個超鏈接,向服務器發(fā)送鏈接并攜帶參數(shù)(商品的主鍵id),服務器端接收這個參數(shù),并使用這個參數(shù)去數(shù)據(jù)庫中查看這個商品的具體信息最后封裝于product中,最終存放于Model中。主要代碼:前端控制層接收參數(shù)并調(diào)用service層,Service層直接調(diào)用Mybatis提供的mapper接口:購物模塊(1)添加到購物車用戶在成功登陸網(wǎng)站后,將消費者瀏覽且喜歡的產(chǎn)品進行存儲,以方便快速方便的查到產(chǎn)品信息。圖4-12購物車為了展現(xiàn)登錄用戶的購物車,第一步需要編程cart.jsp頁面程序,如果用戶沒有登錄會有提示當點擊查看商品的詳情之后會出現(xiàn)一個“加入購物車”按鈕,當點擊此按鈕時,自動訪問服務器,并通過隱藏表單攜帶參數(shù)(商品的主鍵id),服務器端在接受此參數(shù),并接收用戶選購的數(shù)量,最終保存于我們?yōu)槊總€用戶在session域中創(chuàng)建的cart。最后一步,實現(xiàn)頁面間的跳轉(zhuǎn)功能,在cart.jsp中展示購物車的信息包括:商品的具體信息和每項的價格和購物車的總價。對于已登錄用戶的頁面可以看到一個購物車的圖標,用戶可以查看自己的購物車。主要代碼:(2)從購物車中移除商品用戶點擊購物車頁面中每一個購物項背面的刪除按鈕便可刪除該購物項。如圖4-13所示:圖4-13移出購物車當用戶點擊刪除按鈕時向服務器端進行請求,并攜帶參數(shù)(商品的主鍵id),服務器端在設計購物車時采用的是用Map集合存儲的,key值即商品的id,因此刪除的時候只需從session中拿到購物車直接根據(jù)主鍵刪除,最后將頁面重定向到cart.jsp。主要代碼:(3)清空購物車用戶點擊清空購物車按鈕時購物車里面的購物項全部刪除。如圖4-14所示:圖4-14清空購物車當用戶點擊“清空購物車”按鈕時,向服務器端進行請求,服務器端收到請求之后,從session域中取出cart購物車,由于cart在設計的時候使用的是Map集合,所以只需調(diào)用Map中的clear()方法即可,并且還需將購物車的總價改為0,最后將頁面重定向到cart.jsp。主要代碼:訂單模塊(1)生成訂單當用戶點擊生成訂單按鈕時,轉(zhuǎn)入到order.jsp頁面,用戶便可以進行相關(guān)信息的填寫。如圖4-15所示:圖4-15生成訂單第一步進行order.jsp頁面的編程,主要包括,用戶的購物信息、收貨地址、收貨人和聯(lián)系方式。當用戶點擊cart.jsp中的生成訂單按鈕時,向服務器發(fā)送請求,服務器端從session域中拿到cart中的信息,并將這些信息保存于order表中,此時,需要清空購物車,將訂單信息保存到session域中,為了實現(xiàn)付款操作,需要轉(zhuǎn)入到order.jsp頁面讓用戶填寫相關(guān)信息。主要代碼:Ordersorders=newOrders();(2)我的訂單生成訂單是于消費者購買喜歡的產(chǎn)品,之后已經(jīng)付款完成而產(chǎn)生的,再次進入我的訂單列表界面。如下圖4-16:圖4-16我的訂單為訂單付款頁面還是使用的是order.jsp,當消費者按下cart.jsp中的提交按鈕時,頁面進行跳轉(zhuǎn)并顯示相關(guān)的訂單信息,用戶可以暫時不對訂單進行付款,此時訂單的狀態(tài)為0。如果用戶在生成訂單的同時一并付款,或者點擊用戶的最上方右邊的紅色字體“我的訂單”時,頁面會進行跳轉(zhuǎn)并顯示該用戶的所有訂單和訂單的狀態(tài),此時想要付款,則點擊按鈕“付款”,也會跳轉(zhuǎn)到order.jsp,此時,需要用戶填寫訂單的具體信息包括收貨地址、收貨人、聯(lián)系方式以及付款的銀行,此時客戶端和服務器端一樣會進行非空和數(shù)據(jù)合法性校驗,當用戶填寫好信息點擊“付款”按鈕時,其實就是服務器端拿訂單的具體信息,并將訂單的狀態(tài)改為“1”,同時將用戶填寫的關(guān)于收貨的信息保存于數(shù)據(jù)庫order表中,最終服務器端會將頁面重定向到orderList.jsp向用戶展示他的所有的訂單。訂單的具體信息在orderList.jsp中展示該用戶的所有訂單時采用的是分頁查詢,在訂單的右下角同時也設置了按鈕,方便用戶查看自己的所有按鈕。留言模塊(1)留言板當用戶點擊留言板按鈕時,頁面跳轉(zhuǎn)至messageList.jsp使用戶填寫相關(guān)信息。如下圖所示:圖4-17留言板界面(四)系統(tǒng)后臺功能實現(xiàn)1.用戶模塊(1)查詢用戶管理員進入后臺,管理頁面顯示之后,當他點擊“用戶管理”按鈕時,所有用戶的詳細信息會在主頁面中被顯示出來。如下圖4-18:圖4-18查詢所有用戶先編輯list.jsp頁面,當用戶點擊用戶管理按鈕時服務器端收到請求,調(diào)用service層的admin_findAll()方法由service層調(diào)用myBatis提供的mapper接口,返回一個list集合,最終所有信息封裝于Model中將頁面跳轉(zhuǎn)到list.jsp并進行展示。主要代碼:2.一級分類模塊(1)添加一級分類此功能屬于管理員的權(quán)限范圍內(nèi),用戶管理員為網(wǎng)站添加新的一級商品系別。如下圖4-19:圖4-19添加一級分類首先編寫add.jsp頁面,當用戶在一級分類list.jsp頁面,點擊“添加”按鈕時,服務器將頁面跳轉(zhuǎn)至add.jsp,在此頁面共有三個按鈕,“確定”按鈕用于提交信息,“重置”按鈕清空表單中的內(nèi)容,“返回”按鈕返回前一個頁面。當用戶填寫好要添加的一級分類的名稱之后點擊“確定”按鈕,服務器端接收此表單中的內(nèi)容,然后調(diào)用service層的addCategory()方法,將新增的一級分類保存到數(shù)據(jù)庫category表中,最后將頁面重定向到list.jsp頁面來展示所有的一級分類。主要代碼:(2)修改一級分類此功能屬于管理員的權(quán)限范圍內(nèi),管理員用戶修改網(wǎng)站中各大服飾的一級分類的名稱。如下圖4-20:圖4-20修改一級分類頁面首先編寫edit.jsp頁面,當用戶在一級分類list.jsp頁面點擊“添加”按鈕時服務器將頁面跳轉(zhuǎn)至edit.jsp,在此頁面共有三個按鈕,“確定”按鈕用于提交信息,“重置”按鈕清空表單中的內(nèi)容,“返回”按鈕返回前一個頁面。當用戶填寫好要修改的一級分類的名稱之后點擊“確定”按鈕,服務器端接收此表單中的內(nèi)容,然后調(diào)用service層的adminCategory_update()方法,將修改的一級分類更新到數(shù)據(jù)庫category表中,最后將頁面重定向到list.jsp頁面展示所有的一級分類。(3)刪除一級分類后臺管理員點擊每個一級分類后面的刪除按鈕即可刪除該一級分類。如圖4-21:圖4-21刪除一級分類當用戶點擊每個一級分類后面的“刪除”按鈕時服務器接收到請求然后接收攜帶過來的參數(shù)(一級分類主鍵id),當我們準備刪除一級分類時,如果刪除了改一級分類那么相應的二級分類和二級分類下的商品就得全部刪除,因此我們根據(jù)myBatis的規(guī)則。先根據(jù)外鍵刪除二級分類然后再刪除一級分類,因此首先調(diào)用adminCategorySecond_deleteByCid(cid)刪除二級分類然后再調(diào)用categoryService.deleteCategoryByCid(cid);刪除一級分類,最終將頁面重定向到list.jsp頁面。主要代碼:(4)查詢一級分類管理員點擊“一級分類管理”按鈕時展示所有的一級分類的詳細信息。程序運行結(jié)果如圖4-22所示:圖4-22查詢一級分類首先編寫list.jsp頁面,當管理員用戶點擊“一級分類管理頁面”按鈕時,服務器端接收請求然后調(diào)用adminbFindCategory()方法最終由service層調(diào)用myBatis提供的Mapper接口將所有的一級分類的信息查詢出來保存到list集合中,最終保存到Model中并將信息進行展示??紤]到一級分類比較多,這里使用了分頁查詢,在頁面展示的效果就是每頁顯示固定的個數(shù),并在右下角提供了相應的按鈕方便用戶進行查看其他的一級分類。主要代碼:二級分類模塊(1)添加二級分類管理員用戶,為新增加的一級分類添加二級分類。如下圖4-23:圖4-23添加二級分類首先編寫二級分類添加頁面add.jsp,管理員用戶點擊“添加”按鈕時頁面跳轉(zhuǎn)到add.jsp,同時服務器端將查詢出所有的一級分類的名稱,用于管理員選擇新增的二級分類的歸屬,這在add.jsp頁面中通過一個下拉列表進行顯示。管理員用戶在填寫好新增的二級分類的名稱并選擇好所屬的一級分類之后點擊“確定”按鈕,服務器端接收新增的二級分類名稱和所屬的一級分類的主鍵id,然后調(diào)用adminCategorySecond_save()方法將新增的Categorysecond保存于數(shù)據(jù)庫的categorysecond表中。最后將頁面重定向到二級分類的list.jsp頁面進行展示。主要代碼:(2)修改二級分類管理員用戶可以為網(wǎng)站中所有的二級分類的名稱進行編輯。如下圖4-24:圖4-24二級分類編輯頁面首先編寫二級分類修改頁面edit.jsp,管理員在list.jsp點擊“編輯”按鈕時,頁面跳轉(zhuǎn)到edit.jsp頁面,跳轉(zhuǎn)之前,服務器端查詢到對應的二級分類的名稱并將二級分類的名稱保存到edit.jsp對應的表單中,這樣方便用戶知道自己修改的是哪個二級分增加了用戶體驗度。主要代碼:(3)刪除二級分類后臺管理員根據(jù)查詢出的二級分類列表對二級分類進行操作,根據(jù)系統(tǒng)的要求,管理員用戶在刪除二級分類的同時應該刪除該二級分類下的所有商品。管理員用戶在點擊“二級分類用戶”按鈕時二級分類在管理員頁面中被全部展示出來,當用戶點擊節(jié)略按鈕時服務器端收到客戶端發(fā)來的請求并接受客戶端傳來的數(shù)據(jù)(二級分類的主鍵id),然后根據(jù)二級分類的主鍵id調(diào)用adminCategorySecond_delete(csid)方法,刪除二級分類,然后根據(jù)外鍵刪除商品。最后將頁面重定向到二級分類的list.jsp頁面。主要代碼:(4)查詢二級分類管理員通過點擊“二級分類管理”來查看網(wǎng)站中所有的二級分類。如下圖4-25:圖4-25二級分類展示首先得編寫二級分類的list.jsp頁面。管理員用戶點擊“二級分類管理”按鈕時給服務器發(fā)送請求,并攜帶分頁參數(shù),服務器端接收此參數(shù)之后開始查詢所有的二級分類,這里創(chuàng)建了一個pageBean對象用于封裝查詢出來的數(shù)據(jù),包括二級分類的集合,當前的頁數(shù),悉數(shù)的冊頁等信息最后直接返回一個pageBean對象,因為二級分類較多,這里采用了分頁查詢,需要用到這些數(shù)據(jù)因此直接封裝在了pageBean對象里。用戶可以通過二級分類的list.jsp頁面右下方的按鈕來查看所有的二級分類。商品分類模塊(1)添加商品管理用戶通過點擊商品展示頁面list.jsp上的“添加”按鈕可給網(wǎng)站添加新的商品。如下圖4-26:圖4-26商品添加頁面首先編寫商品添加頁面add.jsp。管理員用戶點擊商品展示頁面list.jsp上的“添加”按鈕之后客服端跳轉(zhuǎn)到add.jsp頁面,在客戶端頁面跳轉(zhuǎn)之前,服務器端需要查詢出所有商品的二級分類,方便上傳用戶選擇該商品所屬的二級分類。管理員需要填寫頁面上的信息包括商品名稱、選擇是否熱門、市場價格、商城價格、上傳商品圖片、選擇所屬二級分類和編寫商品描述這些信息。管理員用戶點擊“確定”按鈕之后客戶端將數(shù)據(jù)提交給服務器,客戶端在上傳上傳組件時必須將上傳組件表單type設置為file類型,這樣服務器端才能正確的識別。最后服務器端接收到數(shù)據(jù)之后封裝于product對象中,并調(diào)用adminProduct_save(product);將新上傳的product保存到數(shù)據(jù)庫中的product表中,最后將頁面重定向到商品的list.jsp頁面。主要代碼:(2)刪除商品管理員用戶點擊“商品管理”時,來到展示所有商品的頁面,通過點擊頁面上的刪除按鈕,即可刪除指定的商品。這個功能是基于商品的展示頁面list.jsp進行開發(fā)的,展示用戶頁面時pageBean里面封裝了product的所有信息,當用戶在點擊“刪除”按鈕時即向服務器發(fā)送請求并攜帶參數(shù)(商品的主鍵id),服務端在接收到請求之后,根據(jù)客戶端傳來的參數(shù)進行刪除該商品,最終將頁面重定向到商品的展示頁面list.jsp。jsp頁面方法主要代碼:(3)查詢商品管理員通過點擊“商品管理”按鈕來查看本網(wǎng)站中所有的商品信息。如下圖4-27:圖4-27查詢商品首先編寫商品下面的list.jsp頁面,管理員用戶在點擊“商品管理”按鈕時給服務器發(fā)送請求,并攜帶分頁參數(shù),服務器端接收此參數(shù)之后開始查詢所有的商品信息,這里創(chuàng)建了一個pageBean對象用于封裝查詢出來的數(shù)據(jù),包括商品的集合,當前的頁數(shù),一共的頁數(shù)等信息最后直接返回一個pageBean對象,因為商品個數(shù)較多,這里采用了分頁查詢,需要用到這些數(shù)據(jù)因此直接封裝在了pageBean對象里。用戶可以通過商品文件夾里面的list.jsp頁面右下方的按鈕來查看所有的是商品信息。主要代碼://admin的商品管理(查詢所有的商品)PageBean<Product>allProPageBean=productService.findAllProduct(page);model.addAttribute("allProPageBean",allProPageBean);小結(jié):本章主要對系統(tǒng)的注冊登錄、一級分類二級分類的添加、購物車的添加移除和清空以及訂單的下單、取消、支付做出了介紹。留言管理模塊管理用戶通過點擊留言管理鏈接,即可打開前臺顧客的留言列表界面,并且可以刪除不合時宜的留言信息。如下圖4-28:圖4-28留言管理界面

五、系統(tǒng)測試(一)系統(tǒng)測試環(huán)境1.硬件環(huán)境(1)CPU:英特爾酷睿四核(2)內(nèi)存:4G2.軟件環(huán)境(1)操作系統(tǒng):windows7(2)服務器:Tomcat7(3)瀏覽器:MozillaFirefox和chrome(二)系統(tǒng)測試內(nèi)容使用eclipse編程軟件編寫Java源程序是遇到語法錯誤會自動報錯,需要及時修改錯誤。對系統(tǒng)進行測試視為系統(tǒng)能有效運行并且沒有異常產(chǎn)生。在程序模塊編寫時,每編寫完一個模塊需要進行模塊單元測試,保證單元模塊功能正常,在所有單元測試進行結(jié)束之后,需要進行整個系統(tǒng)的集成測試。本系統(tǒng)需要做如下的測試:登錄注冊測試:多次注冊用戶并且登錄。則表達式檢驗的文本框輸入錯誤信息,檢測代碼是否可行,注冊成功后,檢驗用戶是否可以正常顯示,并查看數(shù)據(jù)庫,檢驗數(shù)據(jù)是否成功插入。登錄時,交叉使用正確和錯誤的密碼進行登錄測試,校驗是否有異常。查詢一級分類測試:測試當用戶訪問index.jps時,是否可以跳轉(zhuǎn)到即index.jsp頁面,測試成功。查詢二級分類測試:測試用戶在點擊首頁的一級分類時,系統(tǒng)是否會自動跳轉(zhuǎn)頁面,并且在頁面的左面顯示所有一級分類包含的二級分類。購物車測試;測試已登錄的用戶是否可以將商品添加到購物車、移除購物車內(nèi)商品、清空購物車。訂單模塊測試:測試是否可以正常生成訂單、取消訂單、為訂單付款。小結(jié):本章首先介紹了系統(tǒng)的測試環(huán)境,接下來詳細介紹了單元模塊測試的方法和整體集成測試的主要內(nèi)容,最后介紹了系統(tǒng)維護的方案。六、總結(jié)在B/S模式中,服務器上必須有所謂的WEB應用程序,服務器通過運行這些WEB程序來響應用戶的需求。因此,基于B/S模式的網(wǎng)絡程序的核心就是設計服務器端的WEB應用程序。隨著網(wǎng)絡科技的迅速發(fā)展,服務器不僅要和用戶動態(tài)、安全的交互更多的信息,而且對WEB應用程序的規(guī)模、難度和維護都提出了很高的要求。這篇論文基于這一背景下誕生了優(yōu)秀的WEB開發(fā)技術(shù),利用這一技術(shù)可以建立安全、跨平臺、易維護的web應用程序,因為Java語言具有不依賴于平臺、面向?qū)ο?、安全等?yōu)良特性,已經(jīng)成為網(wǎng)絡程序設計的佼佼者,許多和Java相關(guān)的技術(shù)得到了廣泛的認可和應用。目前在企業(yè)中廣泛運用的spring、springMvc和myBatis框架進行開發(fā)。Spring用于整個系統(tǒng)的統(tǒng)一調(diào)度貫穿于各層之間,springMvc框架著重于mvc模式的實現(xiàn),MVC結(jié)構(gòu)可以使程序更具有對象化特性,也更容易維護。myBatis框架完成數(shù)據(jù)的映射和持久化工作,myBatis的逆向工程不僅極大的方便了dao層的開發(fā)還方便了系統(tǒng)dao層的維護。本論文主要完成了以下的任務:(1)正確分析了電商目前的發(fā)展形勢,特別是對網(wǎng)購的發(fā)展進行了深入的調(diào)查和研究。(2)對spring、springMvc和myBatis框架的作用整合進行詳細的說明,為了能更加深層次的了解系統(tǒng)的整個結(jié)構(gòu)布局。(3)對于該網(wǎng)站的研發(fā)與運行過程中堅決遵循軟件開發(fā)的相關(guān)規(guī)定進行詳細具體的開發(fā)部分,搭建網(wǎng)站之前準備了有關(guān)工作:需求分析、技術(shù)選型、架構(gòu)設計等。(4)完成了預期賦予系統(tǒng)的功能的實現(xiàn)該論文目前按照預期的計劃,完成對系統(tǒng)的研究目標,然后規(guī)劃接下來的工作安排與實行操作運行,由于網(wǎng)絡技術(shù)的快速發(fā)展,根據(jù)不同行業(yè)的需求,會源源不斷出現(xiàn)新潮的技術(shù),所以不斷地研究學習設計框架,深入學習有關(guān)系統(tǒng)的知識及了解系統(tǒng)的組成結(jié)構(gòu)。目前客戶端技術(shù)正在崛起,我們需要認真做調(diào)查和研究做出一能讓用戶體驗度更好的產(chǎn)品。通過這次的鍛煉,在老師與同學的幫助下搭建完成網(wǎng)站的前端設計,在此受益良多,資料的收集與分析,怎么整理資料,怎么開發(fā)設計網(wǎng)頁等,這次鍛煉使我知道了自己的不足之處,我會繼續(xù)補足我的不足之處,努力完成自己對自己的嚴格要求,并且學會幫助別人,學會有耐心,有毅力。最后,我想再次感謝在我畢業(yè)設計期間曾經(jīng)幫助過我的老師和同學們。在接下來的日子里,我會更加努力學習和了解關(guān)于網(wǎng)站編程和平面設計方面的知識,提升自己的技能,拓寬自己的知識面,積累更多的經(jīng)驗和教訓,不

溫馨提示

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

評論

0/150

提交評論