基于JSP的網(wǎng)上超市系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計
《基于JSP的網(wǎng)上超市系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《基于JSP的網(wǎng)上超市系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計(53頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 JIU JIANG UNIVERSITY 畢 業(yè) 論 文 題 目 基于JSP的網(wǎng)上超市系統(tǒng) 的設(shè)計與實(shí)現(xiàn) 英文題目 Design And Implementation Of Based On JSP Online Supermarket System 院 系 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 計算機(jī)科學(xué)與技術(shù) 姓 名 何俊杰 班級學(xué)號
2、10814010132 指導(dǎo)教師 邵君 二○一二年五月 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 摘 要 隨著Internet飛速發(fā)展,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道。它在人們的政治、經(jīng)濟(jì)、生活等各個方面發(fā)揮著重要作用。特別是對當(dāng)代中國的白領(lǐng)來說,去超市購物逐漸成為令人頭痛的事情。交通堵塞、排隊結(jié)賬使面臨工作壓力的年輕上班族越來越不愿意去超市。網(wǎng)上超市帶給顧客全新的生活方式:只要點(diǎn)擊幾下鼠標(biāo),我們就可以將日常所需送到顧客的手中。網(wǎng)上超市是建立在網(wǎng)絡(luò)上的一個虛擬的購物商場,避免了人們挑
3、選商品的繁瑣過程,使購物變得輕松、快捷、方便;同時又能有效的控制“商場”運(yùn)營的成本,開辟了一個新的渠道。因此研究和開發(fā)網(wǎng)上超市系統(tǒng)對豐富人們生活,足不出戶完成工作、學(xué)習(xí)、娛樂、購物等方面有著非常重要的意義。 系統(tǒng)采用JSP技術(shù)和Mysql數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)。 首先,論文簡要介紹了網(wǎng)上超市系統(tǒng)開發(fā)的背景、目的和意義和國內(nèi)外發(fā)展的現(xiàn)狀,概述了開發(fā)本系統(tǒng)所涉及的理論知識及相關(guān)技術(shù)。 其次,論文詳細(xì)地闡述了系統(tǒng)的需求分析和系統(tǒng)設(shè)計。通過采用面向?qū)ο蟮姆治雠c設(shè)計方法,對網(wǎng)上超市系統(tǒng)進(jìn)行需求分析。 再次,論文著重介紹了基于JSP技術(shù)的網(wǎng)上超市系統(tǒng)的開發(fā)過程、設(shè)計方法、軟件的實(shí)現(xiàn)過程和測試結(jié)果,以及基于
4、JSP的主要關(guān)鍵技術(shù)的實(shí)現(xiàn)。系統(tǒng)使用了Ajax 技術(shù)實(shí)現(xiàn)頁面的無刷新提交。通過引入基于JSP技術(shù)以便使得系統(tǒng)的邏輯計算、頁面層次、訪問速度等方面得到改善。 最后,對論文所做的工作進(jìn)行了總結(jié),并展望下一步的完善與改進(jìn)工作。 該網(wǎng)上超市系統(tǒng)綜合了目前其它相關(guān)技術(shù),外觀設(shè)計簡約,交流界面人性化,配合數(shù)據(jù)庫管理,實(shí)用且易操作。 關(guān)鍵詞: 網(wǎng)上購物,電子商務(wù),網(wǎng)上超市系統(tǒng) Abstract With the rapid development of Internet, the Internet become people to quickly get, distribution a
5、nd transfer information important channel. It in peoples political, economic, and other aspects of life plays an important role. The Internet publishing information mainly through the web site to realize. As people life level of, never leave home to complete the job, study, entertainment, shopping h
6、ave become people to the fast pace of living the way a demand. The preliminary design realize the online shopping the basic operation of the process, membership-based shopping system, perfect the function of the web site. This paper describes the design and implementation of e-commerce sites - the
7、purpose of online sales, process and the realization of various functions. Given the systematic analysis of the site, described the webpage design, and introduces the contents of the database and the main implementation. This paper also summed up the main characteristics and functions of webpage. D
8、esign simple, humanity communion interface, with database management, practical and easy to operate. The system use JSP technology and Mysql database technology. Key words: Online Shopping, E-commerce, Online Supermarket 目 錄 摘 要 I Abstract II 1 緒論 1.1 系統(tǒng)開發(fā)背景 1 1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo) 2 1.3系
9、統(tǒng)的開發(fā)意義 2 1.4本章小結(jié) 3 2 需求分析 2.1 系統(tǒng)非功能性需求 4 2.2系統(tǒng)功能需求 4 2.3 系統(tǒng)數(shù)據(jù)流程分析 5 2.4 環(huán)境需求 6 2.5 本章小結(jié) 8 3 系統(tǒng)設(shè)計 3.1 系統(tǒng)結(jié)構(gòu)設(shè)計 9 3.2 數(shù)據(jù)庫設(shè)計 16 3.3 本章小結(jié) 22 4 系統(tǒng)實(shí)現(xiàn) 4.1系統(tǒng)功能簡介 23 4.2 功能模塊實(shí)現(xiàn) 23 4.3 數(shù)據(jù)庫實(shí)現(xiàn) 33 4.4 本章小結(jié) 35 5系統(tǒng)測試 5.1 測試序號 36 5.2測試模塊與運(yùn)行 36 6總結(jié)與展望 致謝 44 參考文獻(xiàn) 45 IV 信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文
10、1 緒論 1.1 系統(tǒng)開發(fā)背景 1.1.1網(wǎng)上購物的發(fā)展 近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購物理念。 網(wǎng)上購物系統(tǒng)作為B2B,B2C(Business to Customer,即企業(yè)對消費(fèi)者),C2C(Customer to Customer,即消費(fèi)者對消費(fèi)者)電子商務(wù)的前端商務(wù)平臺,在其商務(wù)活動全過程中起著舉足輕重的作用。本文主要考慮的是如何建設(shè)B2C的網(wǎng)上購物系統(tǒng)。 網(wǎng)上購物是一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶提供靜態(tài)
11、和動態(tài)兩類信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動或更新的資源,如公司簡介、管理規(guī)范和公司制度等等;動態(tài)信息是指隨時變化的信息,如商品報價,會議安排和培訓(xùn)信息等。網(wǎng)上購物系統(tǒng)具有強(qiáng)大的交互功能,可使商家和用戶方便的傳遞信息,完成電子貿(mào)易或EDI交易。這種全新的交易方式實(shí)現(xiàn)了公司間文檔與資金的無紙化交換。 1.1.2網(wǎng)上購物系統(tǒng)的現(xiàn)狀 目前國內(nèi)主流購物系統(tǒng)中采用ASP、PHP、JSP、JAVA語言開發(fā)占據(jù)80%,在模式上隨著近年國內(nèi)電子商務(wù)情勢的大好,各購物系統(tǒng)開發(fā)商的興起如雨后春筍一般。隨著國家政策的支持和電子商務(wù)行業(yè)的高速發(fā)展,以后的購物系統(tǒng)發(fā)展路線必然走向標(biāo)準(zhǔn)化、國際化、智能化的市場道
12、路。 2005年我國網(wǎng)民網(wǎng)上購物用戶達(dá)2200萬,比2004年增長38.6%,交易額高達(dá)135.05億元。2007年通過B2B電子商務(wù)完成的交易額達(dá)到21239億元,增長65.9%,實(shí)現(xiàn)的運(yùn)營商營業(yè)收入達(dá)39億元,增長49.1%。2008年6月底,網(wǎng)絡(luò)購物用戶人數(shù)達(dá)到6329萬,半年內(nèi)增加36.4%,全年我國電子商務(wù)類站點(diǎn)的總體用戶覆蓋已經(jīng)從9000萬戶提升至9800萬戶,網(wǎng)絡(luò)交易規(guī)模接近2700億。根據(jù)我國電子商務(wù)研究中心發(fā)布的《2010年(上)電子商務(wù)市場數(shù)據(jù)檢測報告》顯示,截至2010年6月份,國內(nèi)個人網(wǎng)店的數(shù)量已經(jīng)達(dá)到了1200萬家,且增長迅猛,預(yù)計今年年底網(wǎng)店數(shù)量將達(dá)到1300萬家
13、,直接從業(yè)人員超過130萬人,間接帶動就業(yè)近1000萬人,市場交易額達(dá)到2.25萬億元,預(yù)計全年交易額將超過4.3萬億元。 由上面數(shù)據(jù)可以看出,中國的網(wǎng)上購物發(fā)展正蓬勃發(fā)展,充滿活力,而基于JSP開發(fā)的電子商務(wù)網(wǎng)站更是國內(nèi)外的主流,因此此系統(tǒng)的開發(fā)是符合社會的發(fā)展形式,是很有意義的。 1.2系統(tǒng)實(shí)現(xiàn)的目標(biāo) 現(xiàn)在流行的網(wǎng)上購物系統(tǒng)不僅要有漂亮的網(wǎng)頁,更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,注重每一個細(xì)小的環(huán)節(jié)。這樣才能使得在電子交易時避免不必要錯誤發(fā)生。我們將使用HTML、JSP等技術(shù)來編輯網(wǎng)頁,并運(yùn)用JDBC技術(shù)把數(shù)據(jù)庫和動態(tài)網(wǎng)頁相關(guān)聯(lián)。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的
14、數(shù)據(jù)庫中,這種方法在數(shù)據(jù)量不大時有很多的應(yīng)用場合。當(dāng)數(shù)據(jù)量比較大,并且有較強(qiáng)的專業(yè)性時,錄入的費(fèi)用和出錯的可能性都相應(yīng)上升。本設(shè)計在實(shí)際應(yīng)用中的解決方案是建立網(wǎng)站, 以及自己的數(shù)據(jù)庫,使得所需商品信息可以及時的保存、更新,可以更好的及時了解商品買賣的情況。 1.3系統(tǒng)的開發(fā)意義 Internet的發(fā)展,為改變傳統(tǒng)的商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Intranet,企業(yè)外部網(wǎng)Extranet,通過廉價的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易范圍。而在
15、實(shí)際的生活中,這種方案已經(jīng)被廣泛的運(yùn)用到了實(shí)際的商業(yè)活動中了,人們將這種交易模式稱為:電子商務(wù)。 當(dāng)今比較流行的網(wǎng)上購物系統(tǒng)有“淘寶()”以及“當(dāng)當(dāng)()”。它們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,對其他的網(wǎng)站提供了良好的典范。設(shè)計中可以學(xué)習(xí)參考他們的思想,了解和熟悉整個網(wǎng)站的開發(fā)流程及完整的電子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項。 設(shè)計和完成一個電子商務(wù)網(wǎng)站的,將會牽涉到許多技術(shù)上的問題,如:動態(tài)網(wǎng)頁制作技術(shù)的,后臺數(shù)據(jù)庫的設(shè)計和管理,通過實(shí)際的制作個網(wǎng)站,可以避免紙上談兵,在實(shí)踐中掌握上述技術(shù)的使用。 1.4 本章小結(jié) 這一章節(jié)主要就是介紹了一下系統(tǒng)開發(fā)的目的以及意義,首先列出了網(wǎng)上超市的一些
16、管理現(xiàn)狀,只有很好的了解了當(dāng)前網(wǎng)上超市的現(xiàn)狀,那樣才能對該系統(tǒng)進(jìn)行設(shè)計前期的工作任務(wù)進(jìn)行一個很好的規(guī)劃,明確該系統(tǒng)的設(shè)計理念以及改系統(tǒng)要達(dá)到的目標(biāo),同時明確了本系統(tǒng)開發(fā)所涉及的核心技術(shù)。 2 需求分析 2.1 系統(tǒng)非功能性需求 非功能性需求是指為滿足用戶業(yè)務(wù)需求必須具有但不是功能性需求的系統(tǒng)特性。雖然此需求與系統(tǒng)業(yè)務(wù)邏輯無直接關(guān)系,但也影響著系統(tǒng)的質(zhì)量,不能忽視。本系統(tǒng)的非功能性需求主要包括以下幾個方面: (1)界面友好 本系統(tǒng)在功能完善的情況下,界面盡量做到簡潔友好、便于操作,并應(yīng)有效地防止誤操作的發(fā)生。 (2)支持多用戶并發(fā)訪問 本
17、系統(tǒng)屬于一個多用戶的網(wǎng)上購物系統(tǒng),因此需要做到支持多用戶的并發(fā)訪問,并盡量控制到用戶可接受的訪問速度。 (3)安全性 互聯(lián)網(wǎng)中存在的威脅無處不在,由于本系統(tǒng)基于Web開發(fā),難免要受到安全性的挑戰(zhàn)。因此,本系統(tǒng)應(yīng)盡量避免威脅安全性的因素發(fā)生。 2.2系統(tǒng)功能需求 通過需求分析,確定本系統(tǒng)有以下一些基本功能: l 登錄注冊管理:注冊時能夠?qū)τ脩裘?,密碼的簡單驗(yàn)證;能夠?qū)﹄娮余]箱,Email進(jìn)行有效性驗(yàn)證;能夠防止利用頁面刷新重復(fù)注冊,以及已經(jīng)注冊的用戶不能重復(fù)注冊。 l 商品瀏覽:分類顯示商品;顯示商品詳情,提供購買鏈接。 l 購物車管理:欲購買商品可以增添到購物車;也可以從購
18、物車退回商品,清空購物車;對于同一件商品的多次購買只能在原來的商品上增添數(shù)量,還可以修改購物車中某個商品的數(shù)量,統(tǒng)計商品總金額。 l 訂單管理:只有登錄的用戶可下訂單;用戶可以查看自己的訂單。管理員可以修改訂單的狀態(tài)。 l 商品管理:管理員可以增添商品分類;修改商品基本信息;增添商品時候可以上傳圖片。 l 用戶管理:管理員對注冊用戶的維護(hù)。 2.3 系統(tǒng)數(shù)據(jù)流程分析 2.31 系統(tǒng)數(shù)據(jù)流圖 通過對系統(tǒng)的網(wǎng)上超市的數(shù)據(jù)流動分析,得出數(shù)據(jù)流程如圖2-1所示。 顧客 加入購物車 商品 結(jié)賬 訂單 填寫地址 送貨地址 查看商品 商品 管理員 訂單 管理商品信息
19、查看處理訂單 管理用戶信息 用戶 有效訂單 圖2-1 系統(tǒng)數(shù)據(jù)流圖 2.32 系統(tǒng)E-R圖 通過對系統(tǒng)的網(wǎng)上超市的數(shù)據(jù)分析,得出E-R圖如圖2-2所示。 n 1 n 1 1 1 n 1 圖2-2 系統(tǒng)E-R圖 2.4 環(huán)境需求 2.41 開發(fā)平臺 此系統(tǒng)開發(fā)選用的平臺是Struts2+Java Server Page(簡稱JSP)+Mysql數(shù)據(jù)庫,它適應(yīng)于Windows操作系統(tǒng)并能很好的與其應(yīng)用程序結(jié)合,而且Mysql數(shù)據(jù)庫也易操作,從而大大降低了編程難度。具體如下: l 采用了Internet架構(gòu),Bowser/Server
20、模式。 l Web服務(wù)器采用Tomcat5.5服務(wù)器,數(shù)據(jù)庫管理系統(tǒng)為Mysql。 l 采用了jdk1.6的環(huán)境 l 開發(fā)工具使用Dreamweaver搭建系統(tǒng)頁面框架,再利用Struts2自帶的標(biāo)簽插入服務(wù)器端傳過來的數(shù)據(jù)。 l 在服務(wù)器端使用Myeclipse工具開發(fā),利用Struts2框架處理業(yè)務(wù)。 2.42 系統(tǒng)開發(fā)工具 本系統(tǒng)是基于Struts2+JSP+Mysql數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)的,現(xiàn)對JSP技術(shù)和Mysql數(shù)據(jù)庫以及Struts2框架作簡要的介紹。 2.43 開發(fā)語言—JSP JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。JavaBean是JSP的技術(shù)基礎(chǔ)
21、,而且大型的Web應(yīng)用程序的開發(fā)需要JavaBean和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)等特點(diǎn)。JSP的技術(shù)的優(yōu)勢: l 一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不需要做任何更改。 l 系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。 l JSP技術(shù)是用Java語言作為腳本語言的。Java語言是成熟的、強(qiáng)大的、易擴(kuò)充的編程語言。 l 高效性與安全性。JSP在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)
22、碼由Java虛擬機(jī)解釋執(zhí)行,比源碼解釋效率高。 l 可維護(hù)性。由于JSP技術(shù)是一種開放的、跨平臺的結(jié)構(gòu),因此Web服務(wù)器、平臺及其他組件能很容易升級或切換,且不會影響JSP基本的應(yīng)用程序。 l 多樣化和功能強(qiáng)大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。 2.44 數(shù)據(jù)庫—Mysql Mysql是Oracle公司的一款數(shù)據(jù)庫產(chǎn)品,因?yàn)槠湫∏梢嗖僮?,卻十分穩(wěn)定,成為一些中小型項目和我們學(xué)習(xí)中最常用的數(shù)據(jù)庫,在這里便使用了這款成熟穩(wěn)定的數(shù)據(jù)庫。 2.45 框架—Struts2 在Stru ts2出現(xiàn)
23、之前,Struts1就是一個非常有名的框架,它實(shí)現(xiàn)了MVC模式。之后出現(xiàn)的WebWork框架也是一個很優(yōu)秀的框架,隨著時間的發(fā)展,Struts1漸漸淘汰,有人用WebWork的核心并包裝上Struts1,由此產(chǎn)生了更先進(jìn)的技術(shù)—Struts2。Struts2是經(jīng)典的MVC結(jié)構(gòu)框架,將顯示,控制,邏輯很好的分離,可以使我們開發(fā)起來更具延展性。 2.5 本章小結(jié) 這一小節(jié)主要是明確系統(tǒng)開發(fā)的需求分析,明確系統(tǒng)要實(shí)現(xiàn)的功能,確立系統(tǒng)的功能模塊,按照系統(tǒng)開發(fā)的流程,先申述系統(tǒng)的管理概述,繼而就確立系統(tǒng)要實(shí)現(xiàn)的功能模塊,最后確立系統(tǒng)的用戶角色需求的定位,本需求分析報告的目的是規(guī)范化本軟件的編寫,旨在
24、于提高軟件開發(fā)過程中的能見度,便于對軟件開發(fā)過程中的控制與管理,同時提出了網(wǎng)上超市系統(tǒng)的軟件開發(fā)過程,便于程序員與客操作者之間的交流、協(xié)作,并作為工作成果的原始依據(jù),同時也表明了本軟件的共性,以期能夠獲得更大范圍的應(yīng)用。 3 系統(tǒng)設(shè)計 3.1 系統(tǒng)結(jié)構(gòu)設(shè)計 本系統(tǒng)課分為前后臺兩個部分,共有用戶登錄注冊、商品展示、購物車、結(jié)賬、后臺管理五大模塊 網(wǎng)上購物系統(tǒng)前臺功能結(jié)構(gòu)如圖3-1所示 網(wǎng)上購物系統(tǒng)前臺 會員管理 商品展示 購物車 結(jié)賬 會員登陸注冊 會員資料管理 會員訂單查詢 分類展示 銷售排行 掌柜推薦 新品上架 添加商品 移除商品 恢復(fù)移除的商
25、品 生成訂單 填寫送貨信息 選擇之前填寫過的地址 圖3-1 系統(tǒng)前臺功能結(jié)構(gòu)圖 網(wǎng)上購物系統(tǒng)后臺功能結(jié)構(gòu)如圖3-2所示 網(wǎng)上購物系統(tǒng)后臺 后臺登錄 商品維護(hù) 會員維護(hù) 訂單維護(hù) 退出后臺 圖3-2 系統(tǒng)后臺功能結(jié)構(gòu)圖 系統(tǒng)處理業(yè)務(wù)流程如圖3-3所示 圖3-3 業(yè)務(wù)流程圖 主要可將本購物系統(tǒng)分為五個模塊 1. 登陸注冊模塊 登陸 驗(yàn)證 個人首頁 正確 不正確 首頁 注冊 填寫信息 驗(yàn)證 注冊成功 圖3-4 登陸注冊流程圖 (1)首先進(jìn)入主頁面main.jsp時,先載入一些靜態(tài)元素和左邊欄、右邊欄兩個只需顯示文字的動態(tài)
26、數(shù)據(jù),而其他的幾個div版塊,如站長推薦,熱銷版,新上架等模塊都是通過AJAX技術(shù)異步加載進(jìn)main.jsp頁面。 (2)登陸時加上了javascript驗(yàn)證表單。 (3)注冊時加上了javascript驗(yàn)證表單,在填寫email即用戶名的時候,通過失去焦點(diǎn)事件和Ajax技術(shù)向服務(wù)器發(fā)送異步請求查詢用戶名是否存在,并在注冊頁面局部刷新提示用戶,驗(yàn)證碼也是通過Ajax技術(shù)實(shí)現(xiàn)。 (4)注冊頁面提交后,會出現(xiàn)一個驗(yàn)證郵箱提示,服務(wù)器向用戶郵箱發(fā)送了一個驗(yàn)證碼,用戶需要填寫驗(yàn)證碼才能完成注冊,如果不進(jìn)行驗(yàn)證,下次登錄是還會提示驗(yàn)證,不能使用用戶功能。 (5)輸入郵箱驗(yàn)證碼后,完成注冊。
27、 2. 商品查看與展示 (1)在首頁主要構(gòu)成是左邊欄、右邊欄、站長推薦、熱賣商品、新品上架等。左邊欄顯示的是商品分類信息,一個大類,下面是小類,如:圖書(大類), 世界名著、歷史軍事、小說文學(xué)(小類);右邊欄是“新品熱銷版”,顯示的是最近一個月上架的商品的銷售排行NO.1~~NO.8;站長推薦,顯示通過隨機(jī)查詢的商品,有商品圖片,商品名,商品介紹等信息;“熱賣版”是通過銷量查詢顯示的商品;“新品上架”是通過添加時間查詢最近添加的商品。 (2)從左邊欄點(diǎn)擊分類進(jìn)去查看商品信息,會進(jìn)入商品列表頁面,左邊欄顯示當(dāng)前進(jìn)入的這個大類別已經(jīng)它所有的子類別,并顯示各分類的商品數(shù)目及大分類的商品
28、總數(shù)目,中間欄顯示的是當(dāng)前選中的類別的所有商品列表,顯示了商品圖片,商品名,價格,介紹等,每個商品下有“購買”選項,可以添加到購物車,實(shí)現(xiàn)了翻頁功能,每頁顯示3件商品信息,可以選擇排序方式,如按上架時間排序,按銷量排序。 (3)通過主頁面其他地方或者商品列表點(diǎn)擊可以進(jìn)入單獨(dú)的商品信息頁面,有較為詳細(xì)的商品信息,同樣可以購買,實(shí)現(xiàn)了放大鏡功能,通過鼠標(biāo)放在圖片上會顯示大圖片。 (4)通過通過任意商品鏈接進(jìn)入商品的詳細(xì)信息信息頁面,有較為詳細(xì)的商品信息,顯示了商品的圖片、價格、庫存、廠商等詳細(xì)信息,在此頁面同樣也可以將商品加入購物車,還能選擇商品的個數(shù)。 (5)商品的所有顯示都是
29、從數(shù)據(jù)庫中讀取,其中圖片存放在固定文件夾中,數(shù)據(jù)庫中存放的是圖片地址。 3. 購物車模塊 查看商品 添加到購物車 登陸檢查 添加成功 查看購物車 刪除商品 修改數(shù)量 結(jié)賬 恢復(fù)刪除商品 圖3-5 購物車流程圖 (1)不管有無登錄,都可以使用購物車,首先查看商品,點(diǎn)擊購買,如果商品已經(jīng)購買,購物車只會添加一次。 (2)添加完畢,點(diǎn)擊“購物車”查看添加到購物車的商品,在購物車查看頁面,可以看到添加的商品名,原價,本網(wǎng)站價格,以及數(shù)量,還有商品的總價,節(jié)約價格。 (3)在購物車頁面可以有一下操作:修改數(shù)量、刪除、恢復(fù)、結(jié)賬。 “修改數(shù)量”可以更新需要買的商品
30、數(shù)量,默認(rèn)為1,“刪除”將商品從要購買的列表刪除,出現(xiàn)在下面以刪除的列表中,“恢復(fù)”即可以將刪除列表的商品恢復(fù)到要購買的列表中,“結(jié)賬”即將要生成訂單,結(jié)賬功能需要登錄才能使用,未登錄的會自動跳轉(zhuǎn)登陸頁面。 (4)本購物車使用的是session+cookie技術(shù),即購物車中得數(shù)據(jù)會在 瀏覽器端進(jìn)行備份,失效時間為1天,如果關(guān)閉瀏覽器,下次再登錄還可以從瀏覽器中取得數(shù)據(jù)。 4. 生成訂單 結(jié)賬 是否登陸 生成訂單 填寫地址 登陸 否 是 選擇老地址 填寫新地址 保存新地址 訂單提交 圖3-6 訂單流程圖 (1)首先根據(jù)購物車?yán)锏臄?shù)據(jù)生成一個不能修改的表單,
31、供用戶確認(rèn),確認(rèn)后可點(diǎn)擊結(jié)賬。 (2)點(diǎn)擊結(jié)賬,系統(tǒng)會攔截沒有登陸的客戶,跳轉(zhuǎn)到登陸界面,登陸后才能繼續(xù)操作。 (3)接著跳轉(zhuǎn)到地址填寫界面,如果是老客戶,并且以前有過送貨地址,可以通過下拉列表選擇地址,如果想填寫新地址則選擇新地址,并且填寫,填寫后提交會生成新地址,下次可以通過選擇地址,直接選擇。 (4)地址填寫無誤,提交,向服務(wù)器發(fā)送請求,插入數(shù)據(jù)庫,生成訂單成功。 5. 會員信息用戶登錄 查看個人信息 修改部分信息 查看訂單 查看收藏夾 圖3-7 會員功能流程圖 (1)用戶登錄后可以查看一些個人信息,如用戶名,性別,電話,最后登錄時間,最后登錄IP地址等信息。
32、 (2)用戶登陸后可以修改部分個人信息,如用戶名,電話。 (3)用戶可以查看所有的訂單信息,以及訂單當(dāng)前狀態(tài)。 (4)用戶可以查看之前添加的喜歡的商品。 3.2 數(shù)據(jù)庫設(shè)計 本系統(tǒng)數(shù)據(jù)庫采用Mysql5數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為d_shop,共包含8張表。 a. d_user表 用戶注冊信息表 用戶信息表主要用來保存用戶主要信息。表d_user的結(jié)構(gòu)如表3—1所示。 表3-1 d_user表 字段名 數(shù)據(jù)類型 長度 主鍵或外鍵 id int 12 pk email Varchar 50 nickname varcha
33、r 50 password varchar 50 user_integral int 12 is_email_verify char 3 email_verify_code varchar 50 last_login_time bigint last_login_ip varchar 15 id:d_user表的主鍵 Email:用戶注冊郵箱 Nickname:用戶昵稱 Password:用戶密碼 User_integral:用戶的積分 Is_email_verify:用戶是否驗(yàn)證郵箱 Email_verif
34、y_code:郵箱驗(yàn)證碼 Last_login_time:最后登錄時間 Last_login_ip:最后登錄IP地址 b. d_receive_address表 用戶收貨地址表 表3-2 d_receive_address表 字段名 數(shù)據(jù)類型 長度 主鍵或外鍵 Id Int 12 Pk User_id Int 12 Fk Receive_name Varchar 20 Full_address Varchar 200 Postal_code Varchar 8 Mobile Varchar 15 Phone Var
35、char 20 Id:address表的主鍵 User_id:對應(yīng)用戶的id號,外鍵,用于連接兩表 Receive_name:收貨人姓名 Full_address:收貨地址 Postal_code:郵編 Mobile:移動電話 Phone:固定電話 c. d_category表 產(chǎn)品類別表 表3-3 d_category表 字段名 數(shù)據(jù)類型 長度 主鍵或外鍵 Id Int 12 Pk Turn Int 10 En_name Varchar 200 Name Varchar 200 Description V
36、archar 200 Parent_id Int 10 Id:d_category表主鍵 Turn:產(chǎn)品順序 En_name:產(chǎn)品英語名 Name:產(chǎn)品中文名 Description:產(chǎn)品類別描述 Parent_id:產(chǎn)品父類的類別Id d. d_product表 各種類型產(chǎn)品的共有信息表 表3-4 d_product表 字段名 數(shù)據(jù)類型 長度 主鍵或外鍵 Id Int 12 Pk Product_name Varchar 100 Description Varchar 100 Add_time
37、 Bigint 20 Fixed_price Double Here_price Double Keywords Varchar 200 Has_deleted Int 1 Product_pic Varchar 200 Total_num Int 11 Sell_num Int 11 Id:d_product表的主鍵 Product_name:產(chǎn)品名 Description:產(chǎn)品描述 Add_time:產(chǎn)品添加時間 Fixed_price:產(chǎn)品原價 Here_price:本站價格 Ke
38、ywords:關(guān)鍵字 Has_deleted:是否被刪除 Product_pic:產(chǎn)品圖片 Total_num:產(chǎn)品進(jìn)購總數(shù)量 Sell_num:銷售數(shù)量 e. d_goods表 產(chǎn)品的特有信息表 表3-5 d_goods表 字段名 數(shù)據(jù)類型 長度 主鍵或外鍵 Id Int 12 Pk、fk Brand Varchar 50 Author Varchar 200 Publishing Varchar 200 Publish_time Bigint 20 Guarantee_period Int 2
39、 standard int 4 Word_number Varchar 15 Which_edition Varchar 15 Total_page Varchar 15 barcode Varchar 25 Author_summary Text Print_time Int 20 Id:主鍵 Brand:品牌 Author :作者 Publishing:廠商或出版社 Publish_time :生產(chǎn)日期或出版時間 guarantee_period:保質(zhì)期 standard :規(guī)格 Word_numb
40、er:字?jǐn)?shù) Which_edition :幾次修訂 Total_page :總頁數(shù) Barcode :條形碼 Author_summary:作者介紹 Print_time:出版次數(shù) f. d_category_product表 類別和產(chǎn)品關(guān)系表(用于連接category表和product表) 表3-6 d_category_product表 字段名 數(shù)據(jù)類型 長度 主鍵或外鍵 Id Int 12 Pk Product_id Int 10 Fk Cat_id Int 10 Fk Id:主鍵 Product_id:產(chǎn)品id Cat
41、_id:類別id g. d_order表 訂單信息表 表3-7 d_order表 字段名 數(shù)據(jù)類型 長度 主鍵或外鍵 Id Int 10 Pk User_id Int 10 Status Int 10 Order_time Bigint 20 Order_desc Varchar 100 Total_price Double Receive_name Varchar 100 Full_address Varchar 200 Postal_code Varchar 8 Mobile
42、Varchar 20 Phone Varchar20 Id:d_order表主鍵 User_id:訂單所對應(yīng)的用戶 IdStatus:訂單狀態(tài) Order_time:訂單提交時間 Order_desc:訂單描述 Receive_name:收貨人姓名 Full_address:收貨地址 Postal_code:郵編 Mobile:移動電話 Phone:固定電話 h. d_item表 訂單明細(xì)表 表3-8 d_item表 字段名 數(shù)據(jù)類型 長度 主鍵或外鍵 Id Int 12 Order_id Int
43、10 Product_id Int 10 Product_name Varchar 100 Here_price Double Product_num Int 10 Amount Double Id:d_item表主鍵 Order_id:對應(yīng)的訂單id Product_id:訂單中產(chǎn)品的id號 Product_name:訂單中產(chǎn)品名 Here_price:產(chǎn)品單價 Product_num:購買的數(shù)量 Amount:此條產(chǎn)品的價格小計 3.3 本章小結(jié) 此章節(jié)介紹的是數(shù)據(jù)庫的一些詳細(xì)信息,數(shù)據(jù)庫是一個項目的心臟,所有的數(shù)
44、據(jù)存儲在數(shù)據(jù)庫中,如何將各種不同數(shù)據(jù)之間的關(guān)系設(shè)計好是最重要的,哪些字段設(shè)置為主鍵,哪些字段設(shè)置為外鍵,以及不同數(shù)據(jù)表之間的關(guān)系,是一對一、一對多還是多對多的關(guān)系,都需要根據(jù)具體的系統(tǒng)業(yè)務(wù)來設(shè)計,經(jīng)過此系統(tǒng)較為復(fù)雜的數(shù)據(jù)庫的設(shè)計,大大提高了我對數(shù)據(jù)的理解。 4 系統(tǒng)實(shí)現(xiàn) 系統(tǒng)實(shí)現(xiàn)是軟件項目開發(fā)過程中的主要部分,在系統(tǒng)實(shí)現(xiàn)中要有簡潔、美觀、可讀性好、整體統(tǒng)一等準(zhǔn)則。 4.1系統(tǒng)功能簡介 本系統(tǒng)分為前后臺兩個部分,共有用戶登錄注冊、商品展示、購物車、結(jié)賬四大模塊。 登錄注冊管理:注冊時能夠?qū)τ脩裘艽a的簡單驗(yàn)證;能夠?qū)﹄娮余]箱,Email進(jìn)行有效性驗(yàn)證;能夠防止利用頁面刷新重復(fù)注冊,以
45、及已經(jīng)注冊的用戶不能重復(fù)注冊。 商品瀏覽:分類顯示商品;顯示商品詳情,提供購買鏈接。 購物車管理:欲購買商品可以增添到購物車;也可以從購物車退回商品,清空購物車;對于同一件商品的多次購買只能在原來的商品上增添數(shù)量,還可以修改購物車中某個商品的數(shù)量,統(tǒng)計商品總金額。 訂單管理:只有登錄的用戶可下訂單;用戶可以查看自己的訂單。管理員可以修改訂單的狀態(tài)。 商品管理:管理員可以增添商品分類;修改商品基本信息;增添商品時候可以上傳圖片。 4.2 功能模塊實(shí)現(xiàn) 4.21. 用戶登錄注冊實(shí)現(xiàn) 首先是會員登錄,登錄后能夠下訂單,本系統(tǒng)的登錄界面如下: 圖4-1 用戶登錄界面 首先是會
46、員登錄,登錄后能夠下訂單,本系統(tǒng)的注冊界面如下: 圖4-2 用戶注冊界面 本系統(tǒng)主要對實(shí)現(xiàn)網(wǎng)上超市出售商品以及管理員管理,下面是網(wǎng)上超市系統(tǒng)的注冊的核心代碼。 package com.dang.action.user; import java.text.DateFormat; import java.text.SimpleDateFor public class RegistAction { private User user; public User getUser() { return user; } public void setUse
47、r(User user) { this.user = user; } public String execute(){ UserDAO userDao = new UserDAOImpl();//調(diào)用持久層操作數(shù)據(jù)庫 try { String phone = user.getPhone(); System.out.println(phone); String pwd1 = user.getPassword(); System.out.println(pwd1); String pwd = DegistUtil.produce
48、DegistCode(user.getPassword()); System.out.println(pwd); user.setPassword(pwd); user.setUserIntegral(0); /* * 獲取上次登錄時的時間和ip * 登錄時間是當(dāng)前系統(tǒng)時間 * ip通過request來取得 * */ long time = System.currentTimeMillis(); String str = "yyyy年MM月dd日 HH:mm "; DateFormat dd
49、= new SimpleDateFormat(str); Date d = new Date(time); String tt = dd.format(d);//將long型時間轉(zhuǎn)換成dateformat型 user.setLastLoginTime(tt); String ip = ServletActionContext.getRequest().getRemoteAddr(); user.setLastLoginIp(ip); user.setEmailVerify(false); String verifyCod
50、e = VerifyUtil.createVerifyCode();
user.setEmailVerifyCode(verifyCode);
userDao.save(user);
Map
51、 (Exception e) { // TODO: handle exception return "error"; } } } userDao中的關(guān)鍵代碼: public void save(User user) throws Exception{ Connection conn = DBUtil.getCOnnection();//創(chuàng)建連接 PreparedStatement stm = conn.prepareStatement(INSERT); stm.setString(1, user.getEmail()); stm.se
52、tString(2, user.getNickname()); stm.setString(3, user.getPassword()); stm.setInt(4, user.getUserIntegral());//給sql變量設(shè)置值 if(user.isEmailVerify()){ stm.setString(5, "T"); }else{ stm.setString(5, "F"); } String str = "yyyy年MM月dd日 HH:mm "; DateFormat dd = new SimpleDat
53、eFormat(str); String time = user.getLastLoginTime(); Date d = dd.parse(time); long tt = d.getTime(); stm.setString(6, user.getEmailVerifyCode()); stm.setLong(7, tt); stm.setString(8, user.getLastLoginIp()); stm.setString(9, user.getPhone()); stm.executeUpdate();//執(zhí)行sql語句 }
54、 4.22. 商品展示實(shí)現(xiàn) 其次是商品展示,展示商品的信息,本系統(tǒng)的登錄界面如下: 圖4-3 主界面商品展示 圖4-4商品詳細(xì)展示 本系統(tǒng)主要對實(shí)現(xiàn)網(wǎng)上超市出售商品以及管理員管理,下面是網(wǎng)上超市系統(tǒng)商品展示的核心代碼。 public Goods showOneGoods(int id) throws SQLException { // TODO Auto-generated method stub Connection conn = DBUtil.getCOnnection(); PreparedStatement stm = conn
55、.prepareStatement(FINDGOODS); stm.setInt(1, id); ResultSet rs = stm.executeQuery(); Goods goods = null; if(rs.next()){ /* * 循環(huán)查詢結(jié)果,給goods賦值 */ goods = new Goods(); goods.setId(rs.getInt("id")); goods.setProductName(rs.getString("product_name")); goods.setDescription(rs
56、.getString("description")); goods.setDangPrice(rs.getDouble("dang_price")); if(rs.getInt("has_deleted")==0){ goods.setHasDelete(false); }else{ goods.setHasDelete(true); } goods.setBrand(rs.getString("brand")); goods.setAuthor(rs.getString("author")); goods.setPu
57、blishing(rs.getString("publishing")); String str = "yyyy年MM月"; DateFormat dd = new SimpleDateFormat(str); long t = rs.getLong("publish_time"); Date d = new Date(t); String tt = dd.format(d); goods.setPublishTime(tt); goods.setGuaranteePeriod(rs.getInt("guarantee_
58、period")); goods.setAuthorSummary(rs.getString("author_summary")); goods.setTotalNum(rs.getInt("total_num")); goods.setSellNum(rs.getInt("sell_num")); } return goods; } 4.23. 購物車實(shí)現(xiàn) 再是購物車實(shí)現(xiàn),可以存入商品,本系統(tǒng)的購物車界面如下: 圖4-5 系統(tǒng)購物車界面 本系統(tǒng)主要對實(shí)現(xiàn)網(wǎng)上超市出售商品以及管理員管理,下面是網(wǎng)上超市系統(tǒng)購物車的核心代碼。 public cl
59、ass OrderDAOImpl extends BaseDAO implements OrderDAO{ //先定義好所有的sql語句 private static final String INSERT_ITEM = "insert into d_item " + "(order_id,product_id,product_name,dang_price,product_num" + ",amount) values(?,?,?,?,?,?)"; private static final String INSERT_ORDER = "insert into
60、d_order" + "(user_id,status,order_time,order_desc,total_price,receive_name," + "full_address,postal_code,mobile,phone) values" + "(?,?,?,?,?,?,?,?,?,?)"; private static final String INSERT_ADDRESS = "insert into d_receive_address" + "(user_id,receive_name,full_address,postal_cod
61、e,mobile,phone) values" + "(?,?,?,?,?,?)"; private static final String FIND_BY_UID = "select * from d_order where user_id=? and order_time=?"; private static final String UPDATE_BY_PRICE = "update d_order set total_price =? where id=?"; public void addItem(int id,long time) throws S
62、QLException{
double totalPrice = 0;
PreparedStatement stm = getConnection().prepareStatement(INSERT_ITEM);
Map
63、 new Order(); order = findByUid(id,time); int orderId = order.getId(); for(CartItem c : list){ if(c.isBuy()==true){ totalPrice += c.getPro().getDangPrice()*c.getQty(); stm.setInt(1, orderId); stm.setInt(2, c.getPro().getId()); stm.setString(3, c.getPro().getProductNa
64、me()); stm.setDouble(4, c.getPro().getDangPrice()); stm.setInt(5, c.getQty()); stm.setDouble(6, c.getQty()*c.getPro().getDangPrice()); stm.executeUpdate(); } } update(totalPrice,orderId); } private Order findByUid(int userId,long time) throws SQLException{
65、PreparedStatement stm = getConnection().prepareStatement(FIND_BY_UID); stm.setInt(1, userId); stm.setLong(2,time); Order order = new Order(); String str = "yyyy年MM月dd日 HH:mm "; DateFormat dd = new SimpleDateFormat(str); ResultSet rs = stm.executeQuery(); if(rs.
66、next()){ order.setId(rs.getInt("id")); order.setUserId(userId); order.setStatus(rs.getInt("status")); long t = rs.getLong("order_time"); Date d = new Date(t); String tt = dd.format(d); order.setOrderTime(tt); order.setOrderDesc(rs.getString("order_desc")); order.setTotalPrice(rs.getDouble("total_price")); order.setReceName(rs.getString("receive_name")); order.setFullAddr(rs.getString("full_address")); order
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動會安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動發(fā)改工作高質(zhì)量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊教研組工作總結(jié)
- 2024年小學(xué)高級教師年終工作總結(jié)匯報
- 2024-2025年秋季第一學(xué)期初中物理上冊教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報告
- 2025年學(xué)校元旦迎新盛典活動策劃方案
- 2024年學(xué)校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報告