版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要隨著社會(huì)經(jīng)濟(jì)的迅速發(fā)展和科學(xué)技術(shù)的全面進(jìn)步,尤其是計(jì)算機(jī)事業(yè)的飛速發(fā)展,以計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的信息系統(tǒng)迎來(lái)了蓬勃發(fā)展的時(shí)期。網(wǎng)上購(gòu)物也作為一種潮流步入了我們的生活中 。網(wǎng)絡(luò)購(gòu)物不僅降低了商場(chǎng)的運(yùn)營(yíng)成本,并且也避免了消費(fèi)者挑選商品的煩瑣過(guò)程,使消費(fèi)者的購(gòu)物過(guò)程變得輕松、快捷、方便,很適合現(xiàn)代人快節(jié)奏的生活,也開(kāi)辟了一個(gè)新的銷售方式。本系統(tǒng)是一個(gè)小型的電子商務(wù)系統(tǒng),本網(wǎng)上購(gòu)物系統(tǒng)是根據(jù)現(xiàn)有的網(wǎng)上購(gòu)物系統(tǒng)的現(xiàn)狀而設(shè)計(jì)開(kāi)發(fā)的電子商務(wù)平臺(tái)??梢詾楦黝愑脩籼峁┓奖愕脑诰€購(gòu)物環(huán)境,符合目前國(guó)內(nèi)流行的電子商務(wù)模式。該論文主要介紹了網(wǎng)上購(gòu)物系統(tǒng)的開(kāi)發(fā)背景、前臺(tái)系統(tǒng)的分析設(shè)計(jì)與實(shí)現(xiàn),后臺(tái)系統(tǒng)的
2、分析設(shè)計(jì)與實(shí)現(xiàn)。用戶可以在系統(tǒng)中實(shí)現(xiàn)注冊(cè)、登錄、分類查詢商品信息、購(gòu)物、管理購(gòu)物車、結(jié)賬等功能。通過(guò)后臺(tái)管理模塊可以實(shí)現(xiàn) 對(duì)后臺(tái)商品、訂單和系統(tǒng)的管理功能。本系統(tǒng)采用JAVA開(kāi)發(fā)環(huán)境,利用MVC的開(kāi)發(fā)模式,以MySQL為系統(tǒng)數(shù)據(jù)庫(kù),以Tomcat作為服務(wù)器,整個(gè)系統(tǒng)操作簡(jiǎn)便、界面友好、靈活實(shí)用。 關(guān)鍵詞:網(wǎng)上購(gòu)物系統(tǒng);系統(tǒng)管理;JAVA;MVC;Tomcat;MySQLKeywords: online shopping system; management; JAVA; MVC; Tomcat; MySQL目 錄1 前言12 系統(tǒng)開(kāi)發(fā)的背景及意義22.1 系統(tǒng)開(kāi)
3、發(fā)背景22.2 系統(tǒng)的開(kāi)發(fā)意義23 系統(tǒng)開(kāi)發(fā)工具的介紹43.1 MyEclipse簡(jiǎn)介43.2 Servlet簡(jiǎn)介43.3 JSP簡(jiǎn)介43.4 Tomcat簡(jiǎn)介53.5 MySQL簡(jiǎn)介54 網(wǎng)上購(gòu)物系統(tǒng)分析64.1 系統(tǒng)需求和可行性分析64.1.1 系統(tǒng)的需求分析64.1.2 系統(tǒng)的可行性分析64.2 系統(tǒng)設(shè)計(jì)的總體規(guī)則74.3 系統(tǒng)的主要架構(gòu)及開(kāi)發(fā)模式74.3.1 基于B/S的體系結(jié)構(gòu)84.3.2 基于MVC的應(yīng)用開(kāi)發(fā)模型85 系統(tǒng)的功能和流程分析115.1 網(wǎng)上商城購(gòu)物系統(tǒng)基本功能描述115.2 系統(tǒng)整體布局模塊的結(jié)構(gòu)分析115.3 系統(tǒng)前臺(tái)功能分析125.4 系統(tǒng)后臺(tái)模塊功能分析136
4、系統(tǒng)功能的具體實(shí)現(xiàn)156.1 系統(tǒng)數(shù)據(jù)庫(kù)及表的設(shè)計(jì)156.1.1創(chuàng)建數(shù)據(jù)庫(kù)156.1.2表的創(chuàng)建166.2 用戶登錄模塊196.3 系統(tǒng)購(gòu)物模塊206.4 購(gòu)物車模塊226.5 訂單模塊256.6 支付模塊286.7 管理員模塊296.8 后臺(tái)管理界面296.9 后臺(tái)查看編輯已有分類模塊316.10 添加商品分類模塊326.11 后臺(tái)添加商品模塊356.12 后臺(tái)查看所有訂單模塊357 系統(tǒng)測(cè)試及總結(jié)387.1 系統(tǒng)關(guān)鍵部分測(cè)試分析387.2 測(cè)試分析總結(jié)及說(shuō)明387.3 系統(tǒng)的性能分析388 總結(jié)40致 謝41參考文獻(xiàn)421 前言目前,網(wǎng)絡(luò)正以一種前所未有的沖擊力在影響著人類的活動(dòng),包括人類
5、的生產(chǎn)和日常生活。網(wǎng)絡(luò)的誕生和發(fā)展,顛覆了傳統(tǒng)的信息傳播方式,沖破了存在于傳統(tǒng)交流方式中時(shí)間和空間的種種壁壘,極大地改變了人類從物質(zhì)到精神、從形式到內(nèi)容、從生產(chǎn)到生活的各種活動(dòng),并且給人類帶來(lái)了新的機(jī)遇和挑戰(zhàn)?;ヂ?lián)網(wǎng)的迅速發(fā)展使電子商務(wù)成為一種潮流和時(shí)尚,也是網(wǎng)上購(gòu)物成為未來(lái)的發(fā)展趨勢(shì)。越來(lái)越多的商家在網(wǎng)上建立起商店,向消費(fèi)者展示出一種新穎的購(gòu)物理念。 網(wǎng)上購(gòu)物系統(tǒng)作為電子商務(wù)的前端商務(wù)平臺(tái),在其商務(wù)活動(dòng)全過(guò)程中起著舉足輕重的作用。本文旨在討論如何建設(shè)B2C的網(wǎng)上購(gòu)物系統(tǒng)。在美、日等信息化程度較高的國(guó)家和地區(qū),網(wǎng)絡(luò)購(gòu)物發(fā)展速度迅猛,很多美國(guó)的世界級(jí)超一流的零售商,也紛紛擠身于網(wǎng)絡(luò)經(jīng)商
6、的行列。調(diào)查表明:美國(guó)的家庭已越來(lái)越習(xí)慣于在家中從網(wǎng)上購(gòu)物。 在我國(guó),網(wǎng)上購(gòu)物從無(wú)到有也不過(guò)短短幾年時(shí)間,但中國(guó)網(wǎng)上購(gòu)物的用戶數(shù)量卻發(fā)展迅速,這說(shuō)明在中國(guó)發(fā)展網(wǎng)上購(gòu)物具有良好的群眾基礎(chǔ),網(wǎng)上購(gòu)物的方便快捷的優(yōu)勢(shì)使網(wǎng)上購(gòu)物具有巨大的潛在發(fā)展優(yōu)勢(shì),網(wǎng)上購(gòu)物方式日趨被大家接受。在未來(lái)的不久,網(wǎng)上購(gòu)物必將成為購(gòu)物消費(fèi)的主流方式。2 系統(tǒng)開(kāi)發(fā)的背景及意義2.1 系統(tǒng)開(kāi)發(fā)背景隨著Internet的快速發(fā)展,人們已經(jīng)進(jìn)入了信息時(shí)代,Web已經(jīng)對(duì)商業(yè)、工業(yè)、銀行、教育、政府、娛樂(lè)和信息產(chǎn)業(yè)及人們的工作、生活產(chǎn)生了深遠(yuǎn)的影響。許多傳統(tǒng)的信息和數(shù)據(jù)庫(kù)系統(tǒng)正在被移植到互聯(lián)網(wǎng)上,人們
7、獲得信息的來(lái)源已經(jīng)不再只是報(bào)紙、電視、廣播等傳統(tǒng)媒體,一個(gè)新的信息傳送媒體逐漸被人們所青睞。范圍廣泛的,復(fù)雜的分布式應(yīng)用正在Web環(huán)境中出現(xiàn)。網(wǎng)上購(gòu)物系統(tǒng)就相繼的出現(xiàn),給人們帶來(lái)了不少的方便快捷,網(wǎng)上購(gòu)物系統(tǒng)正在快速向前發(fā)展。國(guó)外相關(guān)研究情況:美國(guó)是網(wǎng)上交易開(kāi)展較早的國(guó)家,在許多領(lǐng)域處于全球領(lǐng)先水平,成為其他國(guó)家開(kāi)展網(wǎng)上商城的示范,其中網(wǎng)上商城銷售涉及的領(lǐng)域十分廣泛;網(wǎng)上商城觸及到了各個(gè)行業(yè),各種商品和各種服務(wù),發(fā)展速度和規(guī)模十分迅速。網(wǎng)上商城正醞釀著巨大商機(jī)和挑戰(zhàn)。 國(guó)內(nèi)相關(guān)研究情況:目前,我國(guó)所有行業(yè)基本上參與了電子商務(wù)。幾年來(lái)我國(guó)的電信網(wǎng)絡(luò)設(shè)施發(fā)展很開(kāi),但是,我國(guó)畢竟還是發(fā)展中
8、國(guó)家,對(duì)網(wǎng)上商城系統(tǒng)運(yùn)行所需要的信息網(wǎng)絡(luò)基礎(chǔ)設(shè)施水平和對(duì)應(yīng)于網(wǎng)絡(luò)經(jīng)濟(jì)的社會(huì)法律。誠(chéng)信環(huán)境建設(shè)等與發(fā)達(dá)國(guó)家相比還有一定差距。另一方面,軟件開(kāi)發(fā)技術(shù)的發(fā)展也是電子商務(wù)的發(fā)展的一個(gè)硬性條件。而本次設(shè)計(jì)的任務(wù)是,構(gòu)建一個(gè)電子商務(wù)網(wǎng)站,采用的主要技術(shù)是基于服務(wù)器端的JSP、Servlet、Java的組件JavaBean,以及網(wǎng)頁(yè)編程語(yǔ)言HTML。2.2 系統(tǒng)的開(kāi)發(fā)意義當(dāng)今Internet發(fā)展趨勢(shì)下,各種公司和機(jī)構(gòu)都需要進(jìn)行改造和調(diào)整來(lái)適應(yīng)迅速變化的商務(wù)環(huán)境,由此,公司系統(tǒng)和網(wǎng)站的開(kāi)發(fā)對(duì)公司有很大的意義。公司系統(tǒng)的開(kāi)發(fā)不僅是公司產(chǎn)品展示和公司信息傳遞的一個(gè)平臺(tái),更大一方面也是公司形象展示的一個(gè)平臺(tái)。系統(tǒng)的
9、完整性、健壯性以及人性化對(duì)于一個(gè)公司產(chǎn)品銷售和公司形象都有很大的關(guān)聯(lián)作用。 網(wǎng)上購(gòu)物系統(tǒng)為改變傳統(tǒng)的商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案;利用Internet的技術(shù)通過(guò)廉價(jià)的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時(shí)間與空間帶來(lái)的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易范圍。而在實(shí)際的生活中,這種方案已經(jīng)被廣泛的運(yùn)用到了實(shí)際的商業(yè)活動(dòng)中了,人們將這種交易模式稱為電子商務(wù)。 當(dāng)今比較流行的網(wǎng)上購(gòu)物系統(tǒng)有“淘寶()”和“當(dāng)當(dāng)()”。它們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,對(duì)其他的網(wǎng)站提供了良好的典范。設(shè)計(jì)中可以學(xué)習(xí)參考他們的思想,了解和熟悉整個(gè)網(wǎng)站的開(kāi)發(fā)流程及完整的電
10、子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項(xiàng)。 設(shè)計(jì)和完成一個(gè)電子商務(wù)網(wǎng)站的,將會(huì)牽涉到許多技術(shù)上的問(wèn)題,如:動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)的,后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)和管理,通過(guò)實(shí)際的制作個(gè)網(wǎng)站,可以避免紙上談兵,在實(shí)踐中掌握上述技術(shù)的使用。對(duì)自己進(jìn)一步學(xué)習(xí)和了解網(wǎng)上購(gòu)物系統(tǒng)具有很大的現(xiàn)實(shí)意義,對(duì)自己今后從事的工作都有很大的幫助和促進(jìn)作用。3 系統(tǒng)開(kāi)發(fā)工具的介紹3.1 MyEclipse簡(jiǎn)介MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工
11、作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML、Struts、JSP、CSS、JavaScript、Spring、SQL、Hibernate。MyEclipse 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java、Servlet、AJAX、JSP、Struts、Spring、Hibernate、JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉f(shuō)MyEclipse是幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬Ecl
12、ipse開(kāi)發(fā)工具。3.2 Servlet簡(jiǎn)介Servlet是運(yùn)行在Web服務(wù)器或者應(yīng)用服務(wù)器上的Java程序。它是一個(gè)中間層,負(fù)責(zé)接收客戶端的請(qǐng)求和連接HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或者應(yīng)用程序。一個(gè)Servlet就是Java編程語(yǔ)言中的一個(gè)類,它被用來(lái)擴(kuò)展服務(wù)器的性能,服務(wù)器上駐留著可以通過(guò)“請(qǐng)求-響應(yīng)”編程模型來(lái)訪問(wèn)的應(yīng)用程序。雖然Servlet可以對(duì)任何類型的請(qǐng)求產(chǎn)生響應(yīng),但通常只用來(lái)擴(kuò)展Web服務(wù)器的應(yīng)用程序。3.3 JSP簡(jiǎn)介JSP即Java Server Page,可以將靜態(tài)的HTML與動(dòng)態(tài)生成的內(nèi)容混合起來(lái)。JSP既可以實(shí)現(xiàn)前臺(tái)較好的動(dòng)態(tài)效果,也可以利用Servlet實(shí)現(xiàn)后臺(tái)較好的邏輯
13、操作 ,而且在JSP中HTML的編寫(xiě)與維護(hù)更為簡(jiǎn)單。JSP的技術(shù)的優(yōu)勢(shì)如下:(1)JSP技術(shù)是用Java語(yǔ)言作為腳本語(yǔ)言的。Java語(yǔ)言是成熟的、強(qiáng)大的、易擴(kuò)充的編程語(yǔ)言。(2)高效性與安全性。JSP在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由Java虛擬機(jī)解釋執(zhí)行,比源碼解釋效率高。(3)可維護(hù)性。由于JSP技術(shù)是一種開(kāi)放的、跨平臺(tái)的結(jié)構(gòu),因此Web服務(wù)器、平臺(tái)及其他組件能很容易升級(jí)或切換,且不會(huì)影響JSP基本的應(yīng)用程序。(4)穩(wěn)定性。目前,JSP的發(fā)展已經(jīng)是一種較成熟的技術(shù)。系統(tǒng)運(yùn)行穩(wěn)定,是大中型電子商務(wù)企業(yè)的選擇,該系統(tǒng)采用JSP+Servlet+JDBC+JavaBean進(jìn)行開(kāi)發(fā),沒(méi)有涉及SSH
14、框架的技術(shù),是初級(jí)開(kāi)發(fā)者較長(zhǎng)采用的一種開(kāi)發(fā)模式。3.4 Tomcat簡(jiǎn)介Tomcat 服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用。)頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行Tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 Tomcat服務(wù)器是在SUN公司的開(kāi)發(fā)的一個(gè)優(yōu)秀的
15、Servlet/JSP容器。Tomcat負(fù)責(zé)處理客戶端請(qǐng)求,把請(qǐng)求傳給Servlet并把結(jié)果返回給客戶端。Tomcat服務(wù)器除了能夠運(yùn)行Servlet和JSP,還提供Web服務(wù)器的功能。3.5 MySQL簡(jiǎn)介MySQL是一個(gè)開(kāi)放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。4 網(wǎng)上購(gòu)物系統(tǒng)分析4.1 系統(tǒng)需求和可行性分析系統(tǒng)的需求分析和可行性分析是開(kāi)發(fā)一個(gè)系統(tǒng)的首要工作,對(duì)于系統(tǒng)的性能
16、和系統(tǒng)的開(kāi)發(fā)周期起著至關(guān)在重要的作用。在開(kāi)發(fā)系統(tǒng)時(shí)應(yīng)做好系統(tǒng)的需求調(diào)查,對(duì)系統(tǒng)的結(jié)構(gòu)框架做好規(guī)劃,這樣才能開(kāi)發(fā)出完善有效的系統(tǒng)。4.1.1 系統(tǒng)的需求分析系統(tǒng)需求分析是平臺(tái)開(kāi)發(fā)的一個(gè)不可缺少的環(huán)節(jié),為了能夠使本系統(tǒng)更好、更完善地被設(shè)計(jì)出來(lái),就必須先進(jìn)行調(diào)查研究。在系統(tǒng)調(diào)查的基礎(chǔ)上,對(duì)新系統(tǒng)的功能進(jìn)行細(xì)致的分析,從而才能夠開(kāi)發(fā)出完整的系統(tǒng)設(shè)計(jì)。通過(guò)以往對(duì)一些購(gòu)物網(wǎng)站的瀏覽和借鑒,作為一個(gè)購(gòu)物系統(tǒng),應(yīng)分為前臺(tái)模塊和后臺(tái)的管理者模塊,前臺(tái)模塊應(yīng)包括登錄、注冊(cè)、購(gòu)物車、訂單等模塊,后臺(tái)模塊應(yīng)包括,管理員登錄、添加分類、添加商品、查看訂單等模塊。根據(jù)系統(tǒng)的需求進(jìn)行有步驟、有計(jì)劃的進(jìn)行開(kāi)發(fā)。另一方面開(kāi)發(fā)出
17、的系統(tǒng)應(yīng)符合以下標(biāo)準(zhǔn):(1) 系統(tǒng)界面人性化,易于操作。(2) 系統(tǒng)應(yīng)易于維護(hù)和進(jìn)行系統(tǒng)功能的擴(kuò)充。(3) 保證系統(tǒng)可以容納一定數(shù)量客戶同時(shí)訪問(wèn),保證系統(tǒng)的穩(wěn)定性和健壯性。(4) 后臺(tái)數(shù)據(jù)庫(kù)關(guān)系清晰,以免造成數(shù)據(jù)冗余。4.1.2 系統(tǒng)的可行性分析隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界也越來(lái)越廣博,越來(lái)越豐富,電子商務(wù)已經(jīng)成為網(wǎng)上的一股潮流。我們相信要不了太長(zhǎng)有時(shí)間,顧客就可以在網(wǎng)絡(luò)世界上獲得他們?cè)诂F(xiàn)實(shí)世界上可以獲得的所有商品和服務(wù)??尚行匝芯渴菫榱伺宄到y(tǒng)開(kāi)發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過(guò)程,實(shí)際上是一次大大簡(jiǎn)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過(guò)程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的,
18、也是很重要的,經(jīng)過(guò)最初的設(shè)計(jì)目標(biāo)和進(jìn)行的市場(chǎng)調(diào)查得出以下四點(diǎn)的可行性分析:(1)經(jīng)濟(jì)可行性:該平臺(tái)設(shè)計(jì)只是作為本人的畢業(yè)設(shè)計(jì),又因?yàn)楸救说脑O(shè)計(jì)能力有限,其功能還不能完善,所以沒(méi)有什么經(jīng)濟(jì)效益可談。(2)技術(shù)可行性:JSPServlet+javaBean的技術(shù)已經(jīng)較為成熟。(3)運(yùn)行可行性:該系統(tǒng)需要搭建JVM即JAVA虛擬機(jī)和Tomcat環(huán)境,在此環(huán)境下系統(tǒng),并且在正確連接數(shù)據(jù)庫(kù)后可以正常運(yùn)行。(4)法律可行性:該平臺(tái)是作為畢業(yè)設(shè)計(jì)與商業(yè)無(wú)關(guān),又因?yàn)槭亲灾鏖_(kāi)發(fā)設(shè)計(jì),因此不會(huì)構(gòu)成侵權(quán),在法律上是可行的。通過(guò)以上的可行性分析,我將采用JSPServlet+JavaBean相結(jié)合的技術(shù),運(yùn)用My S
19、QL數(shù)據(jù)庫(kù)對(duì)網(wǎng)站進(jìn)行建設(shè)。4.2 系統(tǒng)設(shè)計(jì)的總體規(guī)則無(wú)論哪個(gè)網(wǎng)站都要有它自己的設(shè)計(jì)規(guī)則。該平臺(tái)也一樣,它的主要設(shè)計(jì)規(guī)則有:簡(jiǎn)單性:在實(shí)現(xiàn)平臺(tái)的功能的同時(shí),盡量讓平臺(tái)操作簡(jiǎn)單易懂,這對(duì)于一個(gè)網(wǎng)站來(lái)說(shuō)是非常重要的。針對(duì)性:該平臺(tái)設(shè)計(jì)是網(wǎng)上購(gòu)物系統(tǒng)及后臺(tái)管理的定向開(kāi)發(fā)設(shè)計(jì),所以具有專業(yè)突出和很強(qiáng)的針對(duì)性。實(shí)用性:該平臺(tái)能完成電子商品展示和管理員管理的基本信息,具有良好的實(shí)用性。4.3 系統(tǒng)的主要架構(gòu)及開(kāi)發(fā)模式系統(tǒng)的建設(shè)關(guān)鍵在于其所使用的架構(gòu),而網(wǎng)上購(gòu)物這種基于web的系統(tǒng),傳統(tǒng)的C/S架構(gòu)已經(jīng)不能滿足大量用戶的訪問(wèn)和操作,B/S基于瀏覽器的架構(gòu)則是目前網(wǎng)絡(luò)系統(tǒng)應(yīng)用的主流,它將大量的數(shù)據(jù)處理工作交給服
20、務(wù)器端來(lái)處理,客戶端只用通過(guò)普通的瀏覽器即可訪問(wèn)系統(tǒng),方便快捷而且利于系統(tǒng)的更新和維護(hù),JAVA語(yǔ)言在該方面更是得天獨(dú)厚,J2EE規(guī)范的出現(xiàn)則使系統(tǒng)的開(kāi)發(fā)更加規(guī)范,層次更加清楚,更利于對(duì)復(fù)雜事務(wù)的處理,而且在安全性方面也做的更好?;贛VC的開(kāi)發(fā)流程則使開(kāi)發(fā)過(guò)程更加清晰明了,利于做一些復(fù)雜的邏輯實(shí)現(xiàn),從而節(jié)省了開(kāi)發(fā)周期和開(kāi)發(fā)成本。4.3.1 基于B/S的體系結(jié)構(gòu)在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡(jiǎn)化了客戶機(jī)的工作,客戶機(jī)上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和
21、應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請(qǐng)求,而其余如數(shù)據(jù)請(qǐng)求、加工、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁(yè)生成等工作全部由Web Server完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來(lái),由Web服務(wù)器單獨(dú)組成一層來(lái)負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。這種三層體系結(jié)構(gòu)如圖4-1所示。 Browse瀏覽器Web服務(wù)器數(shù)據(jù)庫(kù)圖4-1 B/S三層架構(gòu)示意圖這種結(jié)構(gòu)不僅把客戶機(jī)從沉重的負(fù)擔(dān)和不斷對(duì)其提高的性能的要求中解放出來(lái),也把技術(shù)維護(hù)人員從繁重的維護(hù)升級(jí)工作中解脫出來(lái)。由于客戶機(jī)把事務(wù)處理邏輯部分分給了功能服務(wù)器,使客戶機(jī)一下子"苗
22、條"了許多,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問(wèn)等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護(hù)人員不再為程序的維護(hù)工作奔波于每個(gè)客戶機(jī)之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會(huì)影響其它層的功能。 4.3.2 基于MVC的應(yīng)用開(kāi)發(fā)模型在傳統(tǒng)的基于Web的應(yīng)用系統(tǒng)中,例如ASP,PHP等,通常開(kāi)發(fā)者將業(yè)務(wù)邏輯,數(shù)據(jù)邏輯、展示邏輯等混雜在一起,在同一個(gè)界面面里既進(jìn)行后臺(tái)數(shù)據(jù)庫(kù)的訪問(wèn)和操作,同時(shí)還包含業(yè)務(wù)流程和頁(yè)面表示。這樣編寫(xiě)出來(lái)的程序,既不利于程序員對(duì)業(yè)務(wù)代碼的調(diào)試,同時(shí)也不利于編輯人員進(jìn)行交互頁(yè)面的設(shè)計(jì)。同時(shí)系統(tǒng)也不具備可擴(kuò)展性,當(dāng)我們要在現(xiàn)
23、有業(yè)務(wù)上進(jìn)行擴(kuò)展的時(shí)候,通常無(wú)法借助于現(xiàn)有的資源和應(yīng)用,而只能夠重新編寫(xiě),大大增加了投資,延長(zhǎng)了系統(tǒng)上線的時(shí)間,失去了競(jìng)爭(zhēng)市場(chǎng)的優(yōu)勢(shì)。在本網(wǎng)上購(gòu)物系統(tǒng)中,將采用通行的MVC模式來(lái)構(gòu)建應(yīng)用。這種結(jié)構(gòu)解決了前面所述的所有問(wèn)題,在我們的應(yīng)用集成網(wǎng)絡(luò)中,通過(guò)企業(yè)級(jí)高端J2EE應(yīng)用服務(wù)器實(shí)現(xiàn)MVC開(kāi)發(fā)模型。MVC的邏輯圖如圖4-2所示,流程圖如圖4-3所示。圖4-2 MVC開(kāi)發(fā)邏輯示意圖圖4-3 MVC業(yè)務(wù)流程示意圖系統(tǒng)分析是平臺(tái)開(kāi)發(fā)的一個(gè)不可缺少的環(huán)節(jié),為了能夠使本系統(tǒng)更好、更完善地被設(shè)計(jì)出來(lái),就必須先進(jìn)行調(diào)查研究。在系統(tǒng)調(diào)查的基礎(chǔ)上,對(duì)新系統(tǒng)的功能進(jìn)行細(xì)致的分析,從而才能夠開(kāi)發(fā)出完整的系統(tǒng)設(shè)計(jì)通過(guò)這
24、種方案,我們可以迅速地實(shí)現(xiàn)整個(gè)業(yè)務(wù),其優(yōu)勢(shì)和特點(diǎn)如下。Model(模型)層:由javaBean來(lái)實(shí)現(xiàn),將具體的業(yè)務(wù)封裝在業(yè)務(wù)邏輯層實(shí)現(xiàn)。是系統(tǒng)結(jié)構(gòu)更加明確。View(視圖)層:由JSP、HTML組成。這一層次的特點(diǎn)是能夠真實(shí)地展示和客戶交互的界面,具備可描繪的功能。同時(shí)能夠嵌套動(dòng)態(tài)數(shù)據(jù),可以進(jìn)行動(dòng)態(tài)頁(yè)面的展示。同時(shí)可以方便地進(jìn)行客戶端的個(gè)性化定制。根據(jù)每個(gè)客戶的需求來(lái)展示不同風(fēng)格的界面。Controller(控制器)層:是非常重要的一層,這一層是連接View和Model的紐帶,同時(shí)也是將這兩層進(jìn)行最大限度分離的工具。通常由Servlet來(lái)實(shí)現(xiàn),Servlet和JSP雖然同樣都屬于頁(yè)面展示工具,
25、但分屬兩層。主要在于JSP以腳本語(yǔ)言的形式存在, 它的主要優(yōu)勢(shì)是進(jìn)行動(dòng)態(tài)數(shù)據(jù)的Web展示,而Servlet是一個(gè)完整的Java程序,進(jìn)行業(yè)務(wù)的調(diào)用和流程的處理是它的長(zhǎng)處。通過(guò)這種模型的建立,我們的應(yīng)用系統(tǒng)具備了非常好的性能和可擴(kuò)展性。將業(yè)務(wù)組件和展示頁(yè)面進(jìn)行分離,并通過(guò)Controller來(lái)描述調(diào)用關(guān)系,一方面可以提高效率,另一方面也可以增加系統(tǒng)擴(kuò)充的能力,使我們的系統(tǒng)可以進(jìn)行最快速度的業(yè)務(wù)擴(kuò)展,以滿足不同用戶、不同階段、各種各樣的業(yè)務(wù)需求。5 系統(tǒng)的功能和流程分析5.1 網(wǎng)上商城購(gòu)物系統(tǒng)基本功能描述本系統(tǒng)是一個(gè)中小型的電子商務(wù)系統(tǒng),可以為各類用戶提供方便的在線購(gòu)物環(huán)境,符合目前國(guó)內(nèi)流行的電子
26、商務(wù)模式。該網(wǎng)上購(gòu)物系統(tǒng)平臺(tái)利用現(xiàn)在比較廣泛的MVC的架構(gòu)實(shí)現(xiàn)的,此系統(tǒng)分為前臺(tái)管理和后臺(tái)管理。前臺(tái)管理是友好的操作界面,前臺(tái)用戶可以在系統(tǒng)中實(shí)現(xiàn)注冊(cè)、登錄、分類查詢商品信息、購(gòu)物、支付,管理購(gòu)物車、結(jié)賬等功能。通過(guò)后臺(tái)管理模塊可以實(shí)現(xiàn)后臺(tái)管理員對(duì)商品、訂單和系統(tǒng)管理功能,該系統(tǒng)操作簡(jiǎn)單,界面人性化。是一個(gè)簡(jiǎn)易的網(wǎng)上購(gòu)物系統(tǒng)。5.2 系統(tǒng)整體布局模塊的結(jié)構(gòu)分析在平臺(tái)功能的分析基礎(chǔ)上,得到本平臺(tái)的功能模塊圖如圖5-1所示。圖5-1 平臺(tái)購(gòu)物模塊5.3 系統(tǒng)前臺(tái)功能分析經(jīng)過(guò)對(duì)購(gòu)物系統(tǒng)的流程分析,購(gòu)物流程如圖5-2所示。圖5-2 網(wǎng)上購(gòu)物活動(dòng)圖前臺(tái)部分應(yīng)包含一下幾個(gè)模塊和功能:(1)用戶管理模塊:能
27、夠完成用戶基本信息的注冊(cè)和用戶的系統(tǒng)登錄。用戶登錄流程圖如圖5-3所示。圖5-3 用戶登錄流程圖(2)分類模塊:從后臺(tái)數(shù)據(jù)庫(kù)查出所有商品分類并顯示到界面左邊。(3)商品模塊:查出所有商品顯示在body頁(yè)面上,按照分類查找相應(yīng)的商品,瀏覽全部商品,查看商品詳情,添加到購(gòu)物車。(4)購(gòu)物模塊:如果想把購(gòu)物車的信息添加到數(shù)據(jù)庫(kù)中,購(gòu)物車?yán)锩姘男畔⒂杏脩簟⑸唐?、分類、商品?shù)量等,一個(gè)用戶有一個(gè)購(gòu)物車,購(gòu)物車中可以有多個(gè)商品,每個(gè)商品數(shù)量不唯一,添加到購(gòu)物車刪除購(gòu)物車中某件商品,清空購(gòu)物車。(5)訂單模塊:創(chuàng)建訂單表,創(chuàng)建訂單項(xiàng)表,填寫(xiě)信息生成訂單,修改訂單,提交訂單,付款。5.4 系統(tǒng)后臺(tái)模塊功能
28、分析后臺(tái)作為管理員管理系統(tǒng)的平臺(tái),根據(jù)購(gòu)物系統(tǒng)分析,管理員的用例圖5-4所示。圖5-4 管理員功能用例圖作為系統(tǒng)后臺(tái)應(yīng)包含以下模塊: (1)管理員登錄模塊:功能與用戶登錄相同,只是兩種用戶不在一張表上,查詢數(shù)據(jù)庫(kù)時(shí)查詢的表不同,因此可以直接復(fù)制前臺(tái)的用戶模塊的代碼,然后修改查詢的用戶表,以及跳轉(zhuǎn)的頁(yè)面即可。(2)分類模塊:應(yīng)包含添加分類,查詢已有分類。(3)商品模塊:添加商品,查詢所有商品,修改商品信息,刪除商品等功能。(4)訂單模塊:查詢所有訂單,查詢所有未付款訂單,查詢所有已付款訂單,查詢所有未收獲訂單,查詢所有已完成訂單。6 系統(tǒng)功能的具體實(shí)現(xiàn)6.1 系統(tǒng)數(shù)據(jù)庫(kù)及表的設(shè)計(jì)在建設(shè)網(wǎng)站系統(tǒng)之
29、前,我們必須對(duì)系統(tǒng)所用到的數(shù)據(jù)進(jìn)行大致的分類和具體的結(jié)構(gòu)設(shè)計(jì),既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項(xiàng)功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會(huì)被破壞,可以說(shuō)數(shù)據(jù)庫(kù)是系統(tǒng)的重中之重。數(shù)據(jù)庫(kù)設(shè)計(jì)要遵循一些規(guī)則,一個(gè)好的數(shù)據(jù)庫(kù)滿足一些嚴(yán)格的約束和要求。盡量分離各實(shí)體對(duì)應(yīng)的表,一個(gè)實(shí)體對(duì)應(yīng)一個(gè)表,搞清楚該實(shí)體有哪些屬性,對(duì)應(yīng)有些什么字段,以及各實(shí)體之間有何種聯(lián)系。實(shí)體、屬性與聯(lián)系是進(jìn)行概念設(shè)計(jì)時(shí)要考慮的三個(gè)元素,也是一個(gè)好的數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。結(jié)合系統(tǒng)結(jié)構(gòu)以及對(duì)系統(tǒng)中各部分關(guān)系的分析,共建立了一個(gè)數(shù)據(jù)庫(kù)和六張表。6.1.1創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)名為myestore,該數(shù)據(jù)庫(kù)是作為其他
30、表建立的基礎(chǔ),管理員表、用戶表、訂單表等都在該數(shù)據(jù)庫(kù)里面建立。數(shù)據(jù)庫(kù)創(chuàng)建代碼以及所包含的的表如圖6-1所示。CREATE DATABASE MYESTORE;SET FOREIGN_KEY_CHECKS=0;圖6-1 數(shù)據(jù)庫(kù)以及表結(jié)構(gòu)6.1.2表的創(chuàng)建表的創(chuàng)建是在數(shù)據(jù)庫(kù)創(chuàng)建之后,表的創(chuàng)建應(yīng)清楚的了解各表之間的關(guān)系,以及表中應(yīng)包含哪些字段,表與表之間的關(guān)系應(yīng)劃分清楚,確定好表的關(guān)鍵字,表中的外鍵,消除表中的冗余數(shù)據(jù)。(1)創(chuàng)建管理員表admins, 管理員表是作為后臺(tái)管理員登錄后臺(tái)程序時(shí)驗(yàn)證管理員身份時(shí)使用,管理員表應(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)建商品表,商品表作為商品信息存儲(chǔ)的表,應(yīng)包含商品名等信息,該表是前臺(tái)和后臺(tái)共同操作的表,前臺(tái)用戶通過(guò)查詢?cè)摫砜色@得商品的信息,在前臺(tái)購(gòu)物頁(yè)面顯示出來(lái),后臺(tái)管理通過(guò)操作該表進(jìn)行商品的添加,以及商品的信息的修改。商品表的字段類型定義如圖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。該表存儲(chǔ)所有商品的分類信息,包括分類名稱等字段,后臺(tái)通過(guò)添加分類和修改分類對(duì)該表進(jìn)行操作和訪問(wèn)。分類表的字段和類型定義如圖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)建訂單項(xiàng)表orderitems。訂單項(xiàng)表包括了訂單項(xiàng)號(hào)、商品的數(shù)量、小計(jì)等字段,訂單包括多個(gè)訂單項(xiàng)。訂單項(xiàng)表字段及類型定義如圖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 訂單項(xiàng)表字段類型定義(5)創(chuàng)建訂單表orders。訂單表應(yīng)包括訂單編號(hào)、總計(jì)、用戶編號(hào)等字段。一個(gè)訂單可以包含多個(gè)訂單項(xià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。用戶表是用戶注冊(cè)的信息表,是驗(yàn)證用戶登錄信息的表單,應(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ù)用戶輸入的用戶名和密碼,對(duì)用戶的身份進(jìn)行驗(yàn)證等。如果用戶沒(méi)有登錄,用戶就無(wú)法訪問(wèn)其他的一些jsp頁(yè)面,無(wú)法進(jìn)行正常的購(gòu)物操作,雖然用戶可以進(jìn)行正常的商品瀏覽,但無(wú)法進(jìn)行購(gòu)買操作。如果用戶登錄成功,則用戶的id被存入session中,如果用戶登錄不成功則會(huì)跳轉(zhuǎn)到登錄頁(yè)面。用戶登錄模塊的界面和部分代碼如下。登陸界面如圖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)購(gòu)物模塊 用戶登錄成功后可進(jìn)行商品的瀏覽,可根據(jù)商品的分類進(jìn)行商品的挑選工作,點(diǎn)擊商品的圖片可進(jìn)一步了解商品的詳細(xì)信息,商品的名稱,商品的價(jià)格以及商品的一些備注信息。進(jìn)一步可以將選擇的商品放入購(gòu)物車,如果要進(jìn)一步購(gòu)物則可以進(jìn)一步瀏覽其他
44、商品,然后進(jìn)行選擇加入購(gòu)物車,最終進(jìn)行支付。系統(tǒng)購(gòu)物主界面以及部分代碼如下。 購(gòu)物系統(tǒng)主界面如圖6-9所示。圖6-9 購(gòu)物系統(tǒng)主界面購(gòu)物系統(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", "親,您的請(qǐng)求方式不對(duì)??!");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 購(gòu)物車模塊購(gòu)物車模塊是利用Session機(jī)制來(lái)存儲(chǔ)所選的物品,。session提供了可以保
52、存和跟蹤用戶的狀態(tài)信息的功能,使當(dāng)前用戶在session中定義的變量和對(duì)象能在頁(yè)面之間共享,但是不能為應(yīng)用中其他用戶所訪問(wèn),它與cookie最重大的區(qū)別是,session將用戶在會(huì)話期間的私有信息存儲(chǔ)在服務(wù)器端,提高了安全性。在服務(wù)器生成session后,客戶端會(huì)生成一個(gè)sessionid識(shí)別號(hào)保存在客戶端,以保持和服務(wù)器的同步。購(gòu)物車包含了所有購(gòu)買的商品(購(gòu)物項(xiàng))及總計(jì),總計(jì)等于每個(gè)商品的小計(jì)的總和,在購(gòu)物車中有一個(gè)Map集Map<String,CartItem>,用于存儲(chǔ)所有訂單項(xiàng)。購(gòu)物項(xiàng)(CartItem)包含了商品的信息及購(gòu)買商品的數(shù)量及小計(jì),小計(jì)等于商品單價(jià)乘以商品的數(shù)量
53、。功能實(shí)現(xiàn)的頁(yè)面調(diào)用關(guān)系如下。添加到購(gòu)物車:desc.jsp->cartServlet -> Cart對(duì)象中addCart方法。從購(gòu)物車中移除:list.jsp->cartServlet-> Cart對(duì)象中removeCart方法。清空購(gòu)物車:list.jsp->cartServlet -> Cart對(duì)象中clearCart方法。我的購(gòu)物車:從session中讀出購(gòu)物車內(nèi)容顯示到top.jsp。購(gòu)物車模塊的界面及核心代碼如下。點(diǎn)擊購(gòu)買后,添加商品到我的購(gòu)物車,界面如圖6-10所示。圖6-10 商品添加到購(gòu)物車界面購(gòu)物后,商品將添加到我的購(gòu)物車,點(diǎn)擊我的購(gòu)物車
54、界面如圖6-11所示。圖6-11 購(gòu)物車界面核心代碼如下。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", "親,您的請(qǐng)求方式不對(duì)啊!");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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電熱馬甲商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 定制眼鏡鏡片行業(yè)營(yíng)銷策略方案
- 云環(huán)境監(jiān)測(cè)服務(wù)行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 心理咨詢行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 緩解昆蟲(chóng)叮咬癥狀的藥物制劑市場(chǎng)分析及投資價(jià)值研究報(bào)告
- 失禁用護(hù)墊產(chǎn)品供應(yīng)鏈分析
- 關(guān)于退休的金融咨詢行業(yè)經(jīng)營(yíng)分析報(bào)告
- 可折疊自行車產(chǎn)品供應(yīng)鏈分析
- 廣告位租賃合同范本
- 建造波浪能發(fā)電廠行業(yè)經(jīng)營(yíng)分析報(bào)告
- 三年級(jí)數(shù)學(xué)上冊(cè)典型例題系列之第一單元:時(shí)間計(jì)算問(wèn)題專項(xiàng)練習(xí)(原卷版+解析)
- 人教版數(shù)學(xué)五年級(jí)上冊(cè)5.1《用字母表示數(shù)》說(shuō)課稿
- 大量收購(gòu)青苗姜合同
- 個(gè)人醫(yī)保承諾書(shū)模板
- 2024年農(nóng)業(yè)農(nóng)村知識(shí)考試必背復(fù)習(xí)題庫(kù)(濃縮500題)
- 缺血性腦卒中全流程規(guī)范化管理
- 醫(yī)院培訓(xùn)課件:《PPD試驗(yàn)》
- 運(yùn)動(dòng)生理學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年湖南師范大學(xué)
- 2024年廣東中山市檢察機(jī)關(guān)勞動(dòng)合同制司法輔助人員招聘筆試參考題庫(kù)附帶答案詳解
- 國(guó)開(kāi)電大《應(yīng)用寫(xiě)作(漢語(yǔ))》形考任務(wù)1-6答案
- 《高一學(xué)期期中考試動(dòng)員》主題班會(huì)課件
評(píng)論
0/150
提交評(píng)論