版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、摘 要隨著社會經(jīng)濟的迅速發(fā)展和科學技術(shù)的全面進步,尤其是計算機事業(yè)的飛速發(fā)展,以計算機與網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的信息系統(tǒng)迎來了蓬勃發(fā)展的時期。網(wǎng)上購物也作為一種潮流步入了我們的生活中 。網(wǎng)絡(luò)購物不僅降低了商場的運營成本,并且也避免了消費者挑選商品的煩瑣過程,使消費者的購物過程變得輕松、快捷、方便,很適合現(xiàn)代人快節(jié)奏的生活,也開辟了一個新的銷售方式。本系統(tǒng)是一個小型的電子商務(wù)系統(tǒng),本網(wǎng)上購物系統(tǒng)是根據(jù)現(xiàn)有的網(wǎng)上購物系統(tǒng)的現(xiàn)狀而設(shè)計開發(fā)的電子商務(wù)平臺。可以為各類用戶提供方便的在線購物環(huán)境,符合目前國內(nèi)流行的電子商務(wù)模式。該論文主要介紹了網(wǎng)上購物系統(tǒng)的開發(fā)背景、前臺系統(tǒng)的分析設(shè)計與實現(xiàn),后臺系統(tǒng)的
2、分析設(shè)計與實現(xiàn)。用戶可以在系統(tǒng)中實現(xiàn)注冊、登錄、分類查詢商品信息、購物、管理購物車、結(jié)賬等功能。通過后臺管理模塊可以實現(xiàn) 對后臺商品、訂單和系統(tǒng)的管理功能。本系統(tǒng)采用JAVA開發(fā)環(huán)境,利用MVC的開發(fā)模式,以MySQL為系統(tǒng)數(shù)據(jù)庫,以Tomcat作為服務(wù)器,整個系統(tǒng)操作簡便、界面友好、靈活實用。 關(guān)鍵詞:網(wǎng)上購物系統(tǒng);系統(tǒng)管理;JAVA;MVC;Tomcat;MySQLKeywords: online shopping system; management; JAVA; MVC; Tomcat; MySQL目 錄1 前言12 系統(tǒng)開發(fā)的背景及意義22.1 系統(tǒng)開
3、發(fā)背景22.2 系統(tǒng)的開發(fā)意義23 系統(tǒng)開發(fā)工具的介紹43.1 MyEclipse簡介43.2 Servlet簡介43.3 JSP簡介43.4 Tomcat簡介53.5 MySQL簡介54 網(wǎng)上購物系統(tǒng)分析64.1 系統(tǒng)需求和可行性分析64.1.1 系統(tǒng)的需求分析64.1.2 系統(tǒng)的可行性分析64.2 系統(tǒng)設(shè)計的總體規(guī)則74.3 系統(tǒng)的主要架構(gòu)及開發(fā)模式74.3.1 基于B/S的體系結(jié)構(gòu)84.3.2 基于MVC的應(yīng)用開發(fā)模型85 系統(tǒng)的功能和流程分析115.1 網(wǎng)上商城購物系統(tǒng)基本功能描述115.2 系統(tǒng)整體布局模塊的結(jié)構(gòu)分析115.3 系統(tǒng)前臺功能分析125.4 系統(tǒng)后臺模塊功能分析136
4、系統(tǒng)功能的具體實現(xiàn)156.1 系統(tǒng)數(shù)據(jù)庫及表的設(shè)計156.1.1創(chuàng)建數(shù)據(jù)庫156.1.2表的創(chuàng)建166.2 用戶登錄模塊196.3 系統(tǒng)購物模塊206.4 購物車模塊226.5 訂單模塊256.6 支付模塊286.7 管理員模塊296.8 后臺管理界面296.9 后臺查看編輯已有分類模塊316.10 添加商品分類模塊326.11 后臺添加商品模塊356.12 后臺查看所有訂單模塊357 系統(tǒng)測試及總結(jié)387.1 系統(tǒng)關(guān)鍵部分測試分析387.2 測試分析總結(jié)及說明387.3 系統(tǒng)的性能分析388 總結(jié)40致 謝41參考文獻421 前言目前,網(wǎng)絡(luò)正以一種前所未有的沖擊力在影響著人類的活動,包括人類
5、的生產(chǎn)和日常生活。網(wǎng)絡(luò)的誕生和發(fā)展,顛覆了傳統(tǒng)的信息傳播方式,沖破了存在于傳統(tǒng)交流方式中時間和空間的種種壁壘,極大地改變了人類從物質(zhì)到精神、從形式到內(nèi)容、從生產(chǎn)到生活的各種活動,并且給人類帶來了新的機遇和挑戰(zhàn)?;ヂ?lián)網(wǎng)的迅速發(fā)展使電子商務(wù)成為一種潮流和時尚,也是網(wǎng)上購物成為未來的發(fā)展趨勢。越來越多的商家在網(wǎng)上建立起商店,向消費者展示出一種新穎的購物理念。 網(wǎng)上購物系統(tǒng)作為電子商務(wù)的前端商務(wù)平臺,在其商務(wù)活動全過程中起著舉足輕重的作用。本文旨在討論如何建設(shè)B2C的網(wǎng)上購物系統(tǒng)。在美、日等信息化程度較高的國家和地區(qū),網(wǎng)絡(luò)購物發(fā)展速度迅猛,很多美國的世界級超一流的零售商,也紛紛擠身于網(wǎng)絡(luò)經(jīng)商
6、的行列。調(diào)查表明:美國的家庭已越來越習慣于在家中從網(wǎng)上購物。 在我國,網(wǎng)上購物從無到有也不過短短幾年時間,但中國網(wǎng)上購物的用戶數(shù)量卻發(fā)展迅速,這說明在中國發(fā)展網(wǎng)上購物具有良好的群眾基礎(chǔ),網(wǎng)上購物的方便快捷的優(yōu)勢使網(wǎng)上購物具有巨大的潛在發(fā)展優(yōu)勢,網(wǎng)上購物方式日趨被大家接受。在未來的不久,網(wǎng)上購物必將成為購物消費的主流方式。2 系統(tǒng)開發(fā)的背景及意義2.1 系統(tǒng)開發(fā)背景隨著Internet的快速發(fā)展,人們已經(jīng)進入了信息時代,Web已經(jīng)對商業(yè)、工業(yè)、銀行、教育、政府、娛樂和信息產(chǎn)業(yè)及人們的工作、生活產(chǎn)生了深遠的影響。許多傳統(tǒng)的信息和數(shù)據(jù)庫系統(tǒng)正在被移植到互聯(lián)網(wǎng)上,人們
7、獲得信息的來源已經(jīng)不再只是報紙、電視、廣播等傳統(tǒng)媒體,一個新的信息傳送媒體逐漸被人們所青睞。范圍廣泛的,復雜的分布式應(yīng)用正在Web環(huán)境中出現(xiàn)。網(wǎng)上購物系統(tǒng)就相繼的出現(xiàn),給人們帶來了不少的方便快捷,網(wǎng)上購物系統(tǒng)正在快速向前發(fā)展。國外相關(guān)研究情況:美國是網(wǎng)上交易開展較早的國家,在許多領(lǐng)域處于全球領(lǐng)先水平,成為其他國家開展網(wǎng)上商城的示范,其中網(wǎng)上商城銷售涉及的領(lǐng)域十分廣泛;網(wǎng)上商城觸及到了各個行業(yè),各種商品和各種服務(wù),發(fā)展速度和規(guī)模十分迅速。網(wǎng)上商城正醞釀著巨大商機和挑戰(zhàn)。 國內(nèi)相關(guān)研究情況:目前,我國所有行業(yè)基本上參與了電子商務(wù)。幾年來我國的電信網(wǎng)絡(luò)設(shè)施發(fā)展很開,但是,我國畢竟還是發(fā)展中
8、國家,對網(wǎng)上商城系統(tǒng)運行所需要的信息網(wǎng)絡(luò)基礎(chǔ)設(shè)施水平和對應(yīng)于網(wǎng)絡(luò)經(jīng)濟的社會法律。誠信環(huán)境建設(shè)等與發(fā)達國家相比還有一定差距。另一方面,軟件開發(fā)技術(shù)的發(fā)展也是電子商務(wù)的發(fā)展的一個硬性條件。而本次設(shè)計的任務(wù)是,構(gòu)建一個電子商務(wù)網(wǎng)站,采用的主要技術(shù)是基于服務(wù)器端的JSP、Servlet、Java的組件JavaBean,以及網(wǎng)頁編程語言HTML。2.2 系統(tǒng)的開發(fā)意義當今Internet發(fā)展趨勢下,各種公司和機構(gòu)都需要進行改造和調(diào)整來適應(yīng)迅速變化的商務(wù)環(huán)境,由此,公司系統(tǒng)和網(wǎng)站的開發(fā)對公司有很大的意義。公司系統(tǒng)的開發(fā)不僅是公司產(chǎn)品展示和公司信息傳遞的一個平臺,更大一方面也是公司形象展示的一個平臺。系統(tǒng)的
9、完整性、健壯性以及人性化對于一個公司產(chǎn)品銷售和公司形象都有很大的關(guān)聯(lián)作用。 網(wǎng)上購物系統(tǒng)為改變傳統(tǒng)的商業(yè)運作模式提供了一種技術(shù)上的可行性的方案;利用Internet的技術(shù)通過廉價的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴大了交易范圍。而在實際的生活中,這種方案已經(jīng)被廣泛的運用到了實際的商業(yè)活動中了,人們將這種交易模式稱為電子商務(wù)。 當今比較流行的網(wǎng)上購物系統(tǒng)有“淘寶()”和“當當()”。它們都是相當優(yōu)秀的電子商務(wù)網(wǎng)站,對其他的網(wǎng)站提供了良好的典范。設(shè)計中可以學習參考他們的思想,了解和熟悉整個網(wǎng)站的開發(fā)流程及完整的電
10、子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項。 設(shè)計和完成一個電子商務(wù)網(wǎng)站的,將會牽涉到許多技術(shù)上的問題,如:動態(tài)網(wǎng)頁制作技術(shù)的,后臺數(shù)據(jù)庫的設(shè)計和管理,通過實際的制作個網(wǎng)站,可以避免紙上談兵,在實踐中掌握上述技術(shù)的使用。對自己進一步學習和了解網(wǎng)上購物系統(tǒng)具有很大的現(xiàn)實意義,對自己今后從事的工作都有很大的幫助和促進作用。3 系統(tǒng)開發(fā)工具的介紹3.1 MyEclipse簡介MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工
11、作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML、Struts、JSP、CSS、JavaScript、Spring、SQL、Hibernate。MyEclipse 是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持Java、Servlet、AJAX、JSP、Struts、Spring、Hibernate、JDBC數(shù)據(jù)庫鏈接工具等多項功能。可以說MyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬Ecl
12、ipse開發(fā)工具。3.2 Servlet簡介Servlet是運行在Web服務(wù)器或者應(yīng)用服務(wù)器上的Java程序。它是一個中間層,負責接收客戶端的請求和連接HTTP服務(wù)器上的數(shù)據(jù)庫或者應(yīng)用程序。一個Servlet就是Java編程語言中的一個類,它被用來擴展服務(wù)器的性能,服務(wù)器上駐留著可以通過“請求-響應(yīng)”編程模型來訪問的應(yīng)用程序。雖然Servlet可以對任何類型的請求產(chǎn)生響應(yīng),但通常只用來擴展Web服務(wù)器的應(yīng)用程序。3.3 JSP簡介JSP即Java Server Page,可以將靜態(tài)的HTML與動態(tài)生成的內(nèi)容混合起來。JSP既可以實現(xiàn)前臺較好的動態(tài)效果,也可以利用Servlet實現(xiàn)后臺較好的邏輯
13、操作 ,而且在JSP中HTML的編寫與維護更為簡單。JSP的技術(shù)的優(yōu)勢如下:(1)JSP技術(shù)是用Java語言作為腳本語言的。Java語言是成熟的、強大的、易擴充的編程語言。(2)高效性與安全性。JSP在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由Java虛擬機解釋執(zhí)行,比源碼解釋效率高。(3)可維護性。由于JSP技術(shù)是一種開放的、跨平臺的結(jié)構(gòu),因此Web服務(wù)器、平臺及其他組件能很容易升級或切換,且不會影響JSP基本的應(yīng)用程序。(4)穩(wěn)定性。目前,JSP的發(fā)展已經(jīng)是一種較成熟的技術(shù)。系統(tǒng)運行穩(wěn)定,是大中型電子商務(wù)企業(yè)的選擇,該系統(tǒng)采用JSP+Servlet+JDBC+JavaBean進行開發(fā),沒有涉及SSH
14、框架的技術(shù),是初級開發(fā)者較長采用的一種開發(fā)模式。3.4 Tomcat簡介Tomcat 服務(wù)器是一個免費的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML(標準通用標記語言下的一個應(yīng)用。)頁面的訪問請求。實際上Tomcat 部分是Apache 服務(wù)器的擴展,但它是獨立運行的,所以當你運行Tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。 Tomcat服務(wù)器是在SUN公司的開發(fā)的一個優(yōu)秀的
15、Servlet/JSP容器。Tomcat負責處理客戶端請求,把請求傳給Servlet并把結(jié)果返回給客戶端。Tomcat服務(wù)器除了能夠運行Servlet和JSP,還提供Web服務(wù)器的功能。3.5 MySQL簡介MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。4 網(wǎng)上購物系統(tǒng)分析4.1 系統(tǒng)需求和可行性分析系統(tǒng)的需求分析和可行性分析是開發(fā)一個系統(tǒng)的首要工作,對于系統(tǒng)的性能
16、和系統(tǒng)的開發(fā)周期起著至關(guān)在重要的作用。在開發(fā)系統(tǒng)時應(yīng)做好系統(tǒng)的需求調(diào)查,對系統(tǒng)的結(jié)構(gòu)框架做好規(guī)劃,這樣才能開發(fā)出完善有效的系統(tǒng)。4.1.1 系統(tǒng)的需求分析系統(tǒng)需求分析是平臺開發(fā)的一個不可缺少的環(huán)節(jié),為了能夠使本系統(tǒng)更好、更完善地被設(shè)計出來,就必須先進行調(diào)查研究。在系統(tǒng)調(diào)查的基礎(chǔ)上,對新系統(tǒng)的功能進行細致的分析,從而才能夠開發(fā)出完整的系統(tǒng)設(shè)計。通過以往對一些購物網(wǎng)站的瀏覽和借鑒,作為一個購物系統(tǒng),應(yīng)分為前臺模塊和后臺的管理者模塊,前臺模塊應(yīng)包括登錄、注冊、購物車、訂單等模塊,后臺模塊應(yīng)包括,管理員登錄、添加分類、添加商品、查看訂單等模塊。根據(jù)系統(tǒng)的需求進行有步驟、有計劃的進行開發(fā)。另一方面開發(fā)出
17、的系統(tǒng)應(yīng)符合以下標準:(1) 系統(tǒng)界面人性化,易于操作。(2) 系統(tǒng)應(yīng)易于維護和進行系統(tǒng)功能的擴充。(3) 保證系統(tǒng)可以容納一定數(shù)量客戶同時訪問,保證系統(tǒng)的穩(wěn)定性和健壯性。(4) 后臺數(shù)據(jù)庫關(guān)系清晰,以免造成數(shù)據(jù)冗余。4.1.2 系統(tǒng)的可行性分析隨著計算機技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界也越來越廣博,越來越豐富,電子商務(wù)已經(jīng)成為網(wǎng)上的一股潮流。我們相信要不了太長有時間,顧客就可以在網(wǎng)絡(luò)世界上獲得他們在現(xiàn)實世界上可以獲得的所有商品和服務(wù)??尚行匝芯渴菫榱伺宄到y(tǒng)開發(fā)的項目是不是可以實現(xiàn)和值得進行研究的過程,實際上是一次大大簡化系統(tǒng)分析和系統(tǒng)設(shè)計的過程,所以,進行可執(zhí)行性的分析是非常必要的,
18、也是很重要的,經(jīng)過最初的設(shè)計目標和進行的市場調(diào)查得出以下四點的可行性分析:(1)經(jīng)濟可行性:該平臺設(shè)計只是作為本人的畢業(yè)設(shè)計,又因為本人的設(shè)計能力有限,其功能還不能完善,所以沒有什么經(jīng)濟效益可談。(2)技術(shù)可行性:JSPServlet+javaBean的技術(shù)已經(jīng)較為成熟。(3)運行可行性:該系統(tǒng)需要搭建JVM即JAVA虛擬機和Tomcat環(huán)境,在此環(huán)境下系統(tǒng),并且在正確連接數(shù)據(jù)庫后可以正常運行。(4)法律可行性:該平臺是作為畢業(yè)設(shè)計與商業(yè)無關(guān),又因為是自主開發(fā)設(shè)計,因此不會構(gòu)成侵權(quán),在法律上是可行的。通過以上的可行性分析,我將采用JSPServlet+JavaBean相結(jié)合的技術(shù),運用My S
19、QL數(shù)據(jù)庫對網(wǎng)站進行建設(shè)。4.2 系統(tǒng)設(shè)計的總體規(guī)則無論哪個網(wǎng)站都要有它自己的設(shè)計規(guī)則。該平臺也一樣,它的主要設(shè)計規(guī)則有:簡單性:在實現(xiàn)平臺的功能的同時,盡量讓平臺操作簡單易懂,這對于一個網(wǎng)站來說是非常重要的。針對性:該平臺設(shè)計是網(wǎng)上購物系統(tǒng)及后臺管理的定向開發(fā)設(shè)計,所以具有專業(yè)突出和很強的針對性。實用性:該平臺能完成電子商品展示和管理員管理的基本信息,具有良好的實用性。4.3 系統(tǒng)的主要架構(gòu)及開發(fā)模式系統(tǒng)的建設(shè)關(guān)鍵在于其所使用的架構(gòu),而網(wǎng)上購物這種基于web的系統(tǒng),傳統(tǒng)的C/S架構(gòu)已經(jīng)不能滿足大量用戶的訪問和操作,B/S基于瀏覽器的架構(gòu)則是目前網(wǎng)絡(luò)系統(tǒng)應(yīng)用的主流,它將大量的數(shù)據(jù)處理工作交給服
20、務(wù)器端來處理,客戶端只用通過普通的瀏覽器即可訪問系統(tǒng),方便快捷而且利于系統(tǒng)的更新和維護,JAVA語言在該方面更是得天獨厚,J2EE規(guī)范的出現(xiàn)則使系統(tǒng)的開發(fā)更加規(guī)范,層次更加清楚,更利于對復雜事務(wù)的處理,而且在安全性方面也做的更好?;贛VC的開發(fā)流程則使開發(fā)過程更加清晰明了,利于做一些復雜的邏輯實現(xiàn),從而節(jié)省了開發(fā)周期和開發(fā)成本。4.3.1 基于B/S的體系結(jié)構(gòu)在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機的工作,客戶機上只需配置少量的客戶端軟件。服務(wù)器將擔負更多的工作,對數(shù)據(jù)庫的訪問和
21、應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由Web Server完成。實際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機的任務(wù)中分離出來,由Web服務(wù)器單獨組成一層來負擔其任務(wù),這樣客戶機的壓力減輕了,把負荷分配給了Web服務(wù)器。這種三層體系結(jié)構(gòu)如圖4-1所示。 Browse瀏覽器Web服務(wù)器數(shù)據(jù)庫圖4-1 B/S三層架構(gòu)示意圖這種結(jié)構(gòu)不僅把客戶機從沉重的負擔和不斷對其提高的性能的要求中解放出來,也把技術(shù)維護人員從繁重的維護升級工作中解脫出來。由于客戶機把事務(wù)處理邏輯部分分給了功能服務(wù)器,使客戶機一下子"苗
22、條"了許多,不再負責處理復雜計算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負責顯示部分,所以維護人員不再為程序的維護工作奔波于每個客戶機之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨立,任何一層的改變不會影響其它層的功能。 4.3.2 基于MVC的應(yīng)用開發(fā)模型在傳統(tǒng)的基于Web的應(yīng)用系統(tǒng)中,例如ASP,PHP等,通常開發(fā)者將業(yè)務(wù)邏輯,數(shù)據(jù)邏輯、展示邏輯等混雜在一起,在同一個界面面里既進行后臺數(shù)據(jù)庫的訪問和操作,同時還包含業(yè)務(wù)流程和頁面表示。這樣編寫出來的程序,既不利于程序員對業(yè)務(wù)代碼的調(diào)試,同時也不利于編輯人員進行交互頁面的設(shè)計。同時系統(tǒng)也不具備可擴展性,當我們要在現(xiàn)
23、有業(yè)務(wù)上進行擴展的時候,通常無法借助于現(xiàn)有的資源和應(yīng)用,而只能夠重新編寫,大大增加了投資,延長了系統(tǒng)上線的時間,失去了競爭市場的優(yōu)勢。在本網(wǎng)上購物系統(tǒng)中,將采用通行的MVC模式來構(gòu)建應(yīng)用。這種結(jié)構(gòu)解決了前面所述的所有問題,在我們的應(yīng)用集成網(wǎng)絡(luò)中,通過企業(yè)級高端J2EE應(yīng)用服務(wù)器實現(xiàn)MVC開發(fā)模型。MVC的邏輯圖如圖4-2所示,流程圖如圖4-3所示。圖4-2 MVC開發(fā)邏輯示意圖圖4-3 MVC業(yè)務(wù)流程示意圖系統(tǒng)分析是平臺開發(fā)的一個不可缺少的環(huán)節(jié),為了能夠使本系統(tǒng)更好、更完善地被設(shè)計出來,就必須先進行調(diào)查研究。在系統(tǒng)調(diào)查的基礎(chǔ)上,對新系統(tǒng)的功能進行細致的分析,從而才能夠開發(fā)出完整的系統(tǒng)設(shè)計通過這
24、種方案,我們可以迅速地實現(xiàn)整個業(yè)務(wù),其優(yōu)勢和特點如下。Model(模型)層:由javaBean來實現(xiàn),將具體的業(yè)務(wù)封裝在業(yè)務(wù)邏輯層實現(xiàn)。是系統(tǒng)結(jié)構(gòu)更加明確。View(視圖)層:由JSP、HTML組成。這一層次的特點是能夠真實地展示和客戶交互的界面,具備可描繪的功能。同時能夠嵌套動態(tài)數(shù)據(jù),可以進行動態(tài)頁面的展示。同時可以方便地進行客戶端的個性化定制。根據(jù)每個客戶的需求來展示不同風格的界面。Controller(控制器)層:是非常重要的一層,這一層是連接View和Model的紐帶,同時也是將這兩層進行最大限度分離的工具。通常由Servlet來實現(xiàn),Servlet和JSP雖然同樣都屬于頁面展示工具,
25、但分屬兩層。主要在于JSP以腳本語言的形式存在, 它的主要優(yōu)勢是進行動態(tài)數(shù)據(jù)的Web展示,而Servlet是一個完整的Java程序,進行業(yè)務(wù)的調(diào)用和流程的處理是它的長處。通過這種模型的建立,我們的應(yīng)用系統(tǒng)具備了非常好的性能和可擴展性。將業(yè)務(wù)組件和展示頁面進行分離,并通過Controller來描述調(diào)用關(guān)系,一方面可以提高效率,另一方面也可以增加系統(tǒng)擴充的能力,使我們的系統(tǒng)可以進行最快速度的業(yè)務(wù)擴展,以滿足不同用戶、不同階段、各種各樣的業(yè)務(wù)需求。5 系統(tǒng)的功能和流程分析5.1 網(wǎng)上商城購物系統(tǒng)基本功能描述本系統(tǒng)是一個中小型的電子商務(wù)系統(tǒng),可以為各類用戶提供方便的在線購物環(huán)境,符合目前國內(nèi)流行的電子
26、商務(wù)模式。該網(wǎng)上購物系統(tǒng)平臺利用現(xiàn)在比較廣泛的MVC的架構(gòu)實現(xiàn)的,此系統(tǒng)分為前臺管理和后臺管理。前臺管理是友好的操作界面,前臺用戶可以在系統(tǒng)中實現(xiàn)注冊、登錄、分類查詢商品信息、購物、支付,管理購物車、結(jié)賬等功能。通過后臺管理模塊可以實現(xiàn)后臺管理員對商品、訂單和系統(tǒng)管理功能,該系統(tǒng)操作簡單,界面人性化。是一個簡易的網(wǎng)上購物系統(tǒng)。5.2 系統(tǒng)整體布局模塊的結(jié)構(gòu)分析在平臺功能的分析基礎(chǔ)上,得到本平臺的功能模塊圖如圖5-1所示。圖5-1 平臺購物模塊5.3 系統(tǒng)前臺功能分析經(jīng)過對購物系統(tǒng)的流程分析,購物流程如圖5-2所示。圖5-2 網(wǎng)上購物活動圖前臺部分應(yīng)包含一下幾個模塊和功能:(1)用戶管理模塊:能
27、夠完成用戶基本信息的注冊和用戶的系統(tǒng)登錄。用戶登錄流程圖如圖5-3所示。圖5-3 用戶登錄流程圖(2)分類模塊:從后臺數(shù)據(jù)庫查出所有商品分類并顯示到界面左邊。(3)商品模塊:查出所有商品顯示在body頁面上,按照分類查找相應(yīng)的商品,瀏覽全部商品,查看商品詳情,添加到購物車。(4)購物模塊:如果想把購物車的信息添加到數(shù)據(jù)庫中,購物車里面包含的信息有用戶、商品、分類、商品數(shù)量等,一個用戶有一個購物車,購物車中可以有多個商品,每個商品數(shù)量不唯一,添加到購物車刪除購物車中某件商品,清空購物車。(5)訂單模塊:創(chuàng)建訂單表,創(chuàng)建訂單項表,填寫信息生成訂單,修改訂單,提交訂單,付款。5.4 系統(tǒng)后臺模塊功能
28、分析后臺作為管理員管理系統(tǒng)的平臺,根據(jù)購物系統(tǒng)分析,管理員的用例圖5-4所示。圖5-4 管理員功能用例圖作為系統(tǒng)后臺應(yīng)包含以下模塊: (1)管理員登錄模塊:功能與用戶登錄相同,只是兩種用戶不在一張表上,查詢數(shù)據(jù)庫時查詢的表不同,因此可以直接復制前臺的用戶模塊的代碼,然后修改查詢的用戶表,以及跳轉(zhuǎn)的頁面即可。(2)分類模塊:應(yīng)包含添加分類,查詢已有分類。(3)商品模塊:添加商品,查詢所有商品,修改商品信息,刪除商品等功能。(4)訂單模塊:查詢所有訂單,查詢所有未付款訂單,查詢所有已付款訂單,查詢所有未收獲訂單,查詢所有已完成訂單。6 系統(tǒng)功能的具體實現(xiàn)6.1 系統(tǒng)數(shù)據(jù)庫及表的設(shè)計在建設(shè)網(wǎng)站系統(tǒng)之
29、前,我們必須對系統(tǒng)所用到的數(shù)據(jù)進行大致的分類和具體的結(jié)構(gòu)設(shè)計,既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會被破壞,可以說數(shù)據(jù)庫是系統(tǒng)的重中之重。數(shù)據(jù)庫設(shè)計要遵循一些規(guī)則,一個好的數(shù)據(jù)庫滿足一些嚴格的約束和要求。盡量分離各實體對應(yīng)的表,一個實體對應(yīng)一個表,搞清楚該實體有哪些屬性,對應(yīng)有些什么字段,以及各實體之間有何種聯(lián)系。實體、屬性與聯(lián)系是進行概念設(shè)計時要考慮的三個元素,也是一個好的數(shù)據(jù)庫設(shè)計的核心。結(jié)合系統(tǒng)結(jié)構(gòu)以及對系統(tǒng)中各部分關(guān)系的分析,共建立了一個數(shù)據(jù)庫和六張表。6.1.1創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫名為myestore,該數(shù)據(jù)庫是作為其他
30、表建立的基礎(chǔ),管理員表、用戶表、訂單表等都在該數(shù)據(jù)庫里面建立。數(shù)據(jù)庫創(chuàng)建代碼以及所包含的的表如圖6-1所示。CREATE DATABASE MYESTORE;SET FOREIGN_KEY_CHECKS=0;圖6-1 數(shù)據(jù)庫以及表結(jié)構(gòu)6.1.2表的創(chuàng)建表的創(chuàng)建是在數(shù)據(jù)庫創(chuàng)建之后,表的創(chuàng)建應(yīng)清楚的了解各表之間的關(guān)系,以及表中應(yīng)包含哪些字段,表與表之間的關(guān)系應(yīng)劃分清楚,確定好表的關(guān)鍵字,表中的外鍵,消除表中的冗余數(shù)據(jù)。(1)創(chuàng)建管理員表admins, 管理員表是作為后臺管理員登錄后臺程序時驗證管理員身份時使用,管理員表應(yīng)包括用戶名以及用戶密碼等字段。管理員表字段類型定義如圖6-2所示。DROP T
31、ABLE IF EXISTS admins;CREATE TABLE admins ( aid char(32) NOT NULL, username varchar(30) DEFAULT NULL, password varchar(30) NOT NULL, email varchar(30) DEFAULT NULL, PRIMARY KEY (aid), UNIQUE KEY username (username) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO admins VALUES ('1cc6a795923f4013a4
32、67d096bd6d7a5b', 'haha', 'haha', 'hahaestore', '1', null);圖6-2 管理員表字段類型定義(2)創(chuàng)建商品表,商品表作為商品信息存儲的表,應(yīng)包含商品名等信息,該表是前臺和后臺共同操作的表,前臺用戶通過查詢該表可獲得商品的信息,在前臺購物頁面顯示出來,后臺管理通過操作該表進行商品的添加,以及商品的信息的修改。商品表的字段類型定義如圖6-3所示。CREATE TABLE books ( bid char(32) NOT NULL, bname varchar(20) NOT
33、 NULL, author varchar(20) DEFAULT NULL, price varchar(15) DEFAULT NULL, image varchar(100) DEFAULT NULL, state tinyint(4) DEFAULT NULL, cid varchar(32) DEFAULT NULL, PRIMARY KEY (bid), KEY cid (cid), CONSTRAINT books_ibfk_1 FOREIGN KEY (cid) REFERENCES categories (cid) ENGINE=InnoDB DEFAULT CHARSET=
34、utf8; 圖6-3 商品表字段類型定義(3)創(chuàng)建分類表categories。該表存儲所有商品的分類信息,包括分類名稱等字段,后臺通過添加分類和修改分類對該表進行操作和訪問。分類表的字段和類型定義如圖6-4所示。DROP TABLE IF EXISTS categories;CREATE TABLE categories ( cid varchar(32) NOT NULL DEFAULT '', cname varchar(20) DEFAULT NULL, PRIMARY KEY (cid), UNIQUE KEY cname (cname) ENGINE=InnoDB D
35、EFAULT CHARSET=utf8;圖6-4 分類表字段類型定義(4)創(chuàng)建訂單項表orderitems。訂單項表包括了訂單項號、商品的數(shù)量、小計等字段,訂單包括多個訂單項。訂單項表字段及類型定義如圖6-5所示。DROP TABLE IF EXISTS orderitems;CREATE TABLE orderitems ( oiid char(32) NOT NULL, oid char(32) NOT NULL, bid char(32) NOT NULL, count smallint(6) NOT NULL, subtotal varchar(12) NOT NULL, PRIMAR
36、Y KEY (oiid), KEY oid (oid), KEY bid (bid), CONSTRAINT orderitems_ibfk_1 FOREIGN KEY (oid) REFERENCES orders (oid), CONSTRAINT orderitems_ibfk_2 FOREIGN KEY (bid) REFERENCES books (bid) ENGINE=InnoDB DEFAULT CHARSET=utf8;圖6-5 訂單項表字段類型定義(5)創(chuàng)建訂單表orders。訂單表應(yīng)包括訂單編號、總計、用戶編號等字段。一個訂單可以包含多個訂單項。訂單表的字段和類型定義如圖
37、6-6所示。DROP TABLE IF EXISTS orders;CREATE TABLE orders ( oid char(32) NOT NULL, orderTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, total varchar(15) NOT NULL, address varchar(50) DEFAULT NULL, state tinyint(4) NOT NULL, uid char(32) DEFAULT NULL, PRIMARY KEY (oid), KE
38、Y uid (uid), CONSTRAINT orders_ibfk_1 FOREIGN KEY (uid) REFERENCES users (id) ENGINE=InnoDB DEFAULT CHARSET=utf8; 圖6-6 訂單表字段類型定義(6)創(chuàng)建用戶表users。用戶表是用戶注冊的信息表,是驗證用戶登錄信息的表單,應(yīng)包括用戶名,用戶密碼等字段。用戶表字段和類型定義如圖6-7所示。DROP TABLE IF EXISTS users;CREATE TABLE users ( id char(32) NOT NULL, username varchar(30) DEFAULT
39、NULL, password varchar(25) DEFAULT NULL, email varchar(30) DEFAULT NULL, state tinyint(4) DEFAULT NULL, activeCode char(32) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY username (username) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO users VALUES ('b93153ba8bbb4e5ab86bab5b982628a3', 'heh
40、e', 'hehe', 'hehe', '1', '922fbdb91bf147a9a8bc21e52729d615');圖6-7 用戶表字段類型定義6.2 用戶登錄模塊 用戶登錄模塊,指的是根據(jù)用戶輸入的用戶名和密碼,對用戶的身份進行驗證等。如果用戶沒有登錄,用戶就無法訪問其他的一些jsp頁面,無法進行正常的購物操作,雖然用戶可以進行正常的商品瀏覽,但無法進行購買操作。如果用戶登錄成功,則用戶的id被存入session中,如果用戶登錄不成功則會跳轉(zhuǎn)到登錄頁面。用戶登錄模塊的界面和部分代碼如下。登陸界面如圖6-8所示。圖6
41、-8 用戶登錄界面登錄界面核心代碼如下。<body background="<%=basePath %>adminjsps/login.jpg"> <br/><br/><br/> <h1 align="center">用戶登錄</h1> <center><p style="color: red; font-weight: 900">$msg </p><form action="$ pageContex
42、t.request.contextPath /userServlet" method="post"><input type="hidden" name="method" value="login"/><br/><br/>用戶名:<input type="text" name="username" value=""/><br/><br/>密碼:<input type
43、="password" name="password"/><br/><br/><input type="submit" value="登錄"/></form></center> </body> 6.3 系統(tǒng)購物模塊 用戶登錄成功后可進行商品的瀏覽,可根據(jù)商品的分類進行商品的挑選工作,點擊商品的圖片可進一步了解商品的詳細信息,商品的名稱,商品的價格以及商品的一些備注信息。進一步可以將選擇的商品放入購物車,如果要進一步購物則可以進一步瀏覽其他
44、商品,然后進行選擇加入購物車,最終進行支付。系統(tǒng)購物主界面以及部分代碼如下。 購物系統(tǒng)主界面如圖6-9所示。圖6-9 購物系統(tǒng)主界面購物系統(tǒng)主界面核心代碼如下。public class BookServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /接收參數(shù),判斷調(diào)用相應(yīng)方法String method = request.getParameter("method
45、");if("findAll".equals(method)findAll(request,response);else if("findByCid".equals(method)findByCid(request,response);else if("findByBid".equals(method)findByBid(request,response);elserequest.setAttribute("msg", "親,您的請求方式不對啊!");request.getReques
46、tDispatcher("/jsps/msg.jsp").forward(request, response);private void findByBid(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub/接收參數(shù)String bid = request.getParameter("bid");/調(diào)用業(yè)務(wù)層BookService bs = new B
47、ookService();Book book;try book = bs.findByBid(bid);/System.out.println(book.getBname();request.setAttribute("book", book);request.getRequestDispatcher("/jsps/book/desc.jsp").forward(request, response); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();/
48、顯示結(jié)果到j(luò)spprivate void findByCid(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubString cid = request.getParameter("cid");/System.out.println(cid);BookService bs = new BookService();try List<Book> bookList=b
49、s.findByCid(cid);/System.out.println(bookList);request.setAttribute("bookList", bookList);request.getRequestDispatcher("/jsps/book/list.jsp").forward(request, response); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();private void findAll(HttpServletRe
50、quest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubtry BookService bs = new BookService();List<Book> bookList = bs.findAll();request.setAttribute("bookList", bookList);request.getRequestDispatcher("/jsps/book/list.js
51、p").forward(request, response); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request, response);6.4 購物車模塊購物車模塊是利用Session機制來存儲所選的物品,。session提供了可以保
52、存和跟蹤用戶的狀態(tài)信息的功能,使當前用戶在session中定義的變量和對象能在頁面之間共享,但是不能為應(yīng)用中其他用戶所訪問,它與cookie最重大的區(qū)別是,session將用戶在會話期間的私有信息存儲在服務(wù)器端,提高了安全性。在服務(wù)器生成session后,客戶端會生成一個sessionid識別號保存在客戶端,以保持和服務(wù)器的同步。購物車包含了所有購買的商品(購物項)及總計,總計等于每個商品的小計的總和,在購物車中有一個Map集Map<String,CartItem>,用于存儲所有訂單項。購物項(CartItem)包含了商品的信息及購買商品的數(shù)量及小計,小計等于商品單價乘以商品的數(shù)量
53、。功能實現(xiàn)的頁面調(diào)用關(guān)系如下。添加到購物車:desc.jsp->cartServlet -> Cart對象中addCart方法。從購物車中移除:list.jsp->cartServlet-> Cart對象中removeCart方法。清空購物車:list.jsp->cartServlet -> Cart對象中clearCart方法。我的購物車:從session中讀出購物車內(nèi)容顯示到top.jsp。購物車模塊的界面及核心代碼如下。點擊購買后,添加商品到我的購物車,界面如圖6-10所示。圖6-10 商品添加到購物車界面購物后,商品將添加到我的購物車,點擊我的購物車
54、界面如圖6-11所示。圖6-11 購物車界面核心代碼如下。public class CartServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /* * 接收method參數(shù),判斷并調(diào)用相應(yīng)的方法。 */String method = request.getParameter("method");if("addItem".equa
55、ls(method)addItem(request,response);else if("removeItem".equals(method)removeItem(request,response);else if("clearCart".equals(method)clearCart(request,response);else if(method =null)response.sendRedirect(request.getContextPath()+"/jsps/cart/list.jsp");elserequest.setAt
56、tribute("msg", "親,您的請求方式不對??!");request.getRequestDispatcher("/jsps/msg.jsp").forward(request, response);private void clearCart(HttpServletRequest request,HttpServletResponse response) throws IOException / TODO Auto-generated method stubCart cart = getCart(request);cart.
57、clearCart();response.sendRedirect(request.getContextPath()+"/jsps/cart/list.jsp");private void removeItem(HttpServletRequest request,HttpServletResponse response) throws IOException / TODO Auto-generated method stub/接收數(shù)據(jù)String bid = request.getParameter("bid");/調(diào)用cart中的方法刪除指定Cart
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提前施工委托書
- 2025年天津b2考貨運資格證要多久
- 《型翻轉(zhuǎn)床推廣方案》課件
- 2025年山西貨運從業(yè)資格證考試模擬題庫答案大全
- 2025年牡丹江貨運上崗證考試題庫答案
- 2025年安順貨運從業(yè)資格證考題
- 2025年安陽a2駕駛證貨運從業(yè)資格證模擬考試
- 仿古住宅小區(qū)開發(fā)協(xié)議
- 制造業(yè)工傷理賠調(diào)解協(xié)議
- 公路建設(shè)項目招投標難點分析
- 2024年農(nóng)村公寓房屋買賣協(xié)議書參考樣本3篇
- 五年級數(shù)學(小數(shù)乘除法)計算題專項練習及答案匯編
- 初中濟南版生物實驗報告單
- 北京郵電大學《自然語言處理》2023-2024學年第一學期期末試卷
- 2024年廣西安全員A證考試題及答案
- 2024年全國《考評員》專業(yè)技能鑒定考試題庫與答案
- 《網(wǎng)絡(luò)系統(tǒng)管理與維護》期末考試題庫及答案
- 人教版數(shù)學六年級上冊期末考試試卷
- 警務(wù)指揮與戰(zhàn)術(shù)學總論學習通超星期末考試答案章節(jié)答案2024年
- 繪本小狐貍賣空氣
- 媒體創(chuàng)意經(jīng)濟:玩轉(zhuǎn)互聯(lián)網(wǎng)時代學習通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論