網(wǎng)上花店系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁
已閱讀1頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  網(wǎng)上花店系統(tǒng)畢業(yè)設(shè)計(jì)論文</p><p><b>  摘 要</b></p><p>  電子商務(wù)在世界經(jīng)濟(jì)一體化,全球化不斷加快的今天,信息技術(shù)越來越廣泛地應(yīng)用于各個(gè)領(lǐng)域。電子商務(wù)作為信息技術(shù)與現(xiàn)代經(jīng)濟(jì)貿(mào)易活動(dòng)結(jié)合的產(chǎn)物,成為人類進(jìn)入知識(shí)經(jīng)濟(jì)時(shí)代的重要標(biāo)志之一。網(wǎng)上花店正是順從了這種發(fā)展趨勢(shì),一改傳統(tǒng)的經(jīng)營(yíng)風(fēng)格,為現(xiàn)代人提供一種方便、快捷、高效

2、的購花方式。同時(shí),也能給商家開拓更大的市場(chǎng),創(chuàng)造更多的價(jià)值。本課題采用Jsp+Servlet+Ajax架構(gòu)開發(fā)網(wǎng)上花店系統(tǒng)。該系統(tǒng)具有以下功能:</p><p>  1、查詢功能:包括精確查詢和模糊查詢兩種方式。其中精確查詢主要完成按鮮花類別、價(jià)格區(qū)間和材料等進(jìn)行鮮花查詢的操作;模糊查詢主要完成按關(guān)鍵詞加鮮花的名稱或適用場(chǎng)合或配送范圍等進(jìn)行鮮花查詢的操作。</p><p>  2、購物車管

3、理功能:主要完成購物車購物賬單的添加、刪除等操作。</p><p>  3、留言功能:主要完成匿名用戶和注冊(cè)用戶的在線留言和查看留言等操作。</p><p>  4、注冊(cè)功能:主要完成鮮花購買者的注冊(cè)操作。</p><p>  此外,在實(shí)施過程中,為了保證用戶登錄信息驗(yàn)證、用戶名合法性檢查等交互效率,本課題采用了AJAX技術(shù)。</p><p>

4、;  關(guān)鍵詞:網(wǎng)上花店,JSP,Servlet,Ajax</p><p>  RESEARCH AND DEVELOPMENT ON ONLINE FLOWER SHOP SYSTEM</p><p><b>  ABSTRACT</b></p><p>  Economic integration in the world, globaliz

5、ation is accelerating today, information technology is more and more widely used in various fields. E-commerce has been one important sign of the times that human beings enter the knowledge economy, which is as the produ

6、ct of the integration of information technology and modern economic and trade activities. Online flower shop is obedient to this trend; it changes the traditional management style, and provides a convenient, fast and eff

7、icient way of pur</p><p>  1.Query function: it includes exact query and fuzzy query in two ways. Of which exact query mainly realizes the operation of the flowers type and the price range and materials and

8、so on. Fuzzy query mainly realizes the flowers query operation, which you should firstly select one query type of flower names and suiting cases and ShippingArea, and then begin to select with one key word.</p>&l

9、t;p>  2. Shopping cart management functions: it mainly realizes the operation of add and delete and so on of shopping cart shopping bill. </p><p>  3. Message function: it mainly realizes the operation of

10、 feedback and query for anonymous users and registered users.</p><p>  4. Registration functions: it mainly realizes the registration operation of flower buyers. </p><p>  In addition, in the pr

11、ocess of implementation, to ensure the efficiency of information verification of user login and validity check of username and so on, the subject uses the AJAX tecnoloy.Key words: online shop, JSP, Servlet, AJAX </

12、p><p><b>  第一章 前言</b></p><p><b>  1.1 研究背景</b></p><p>  電子商務(wù)在世界經(jīng)濟(jì)一體化,全球化不斷加快的今天,信息技術(shù)越來越廣泛地應(yīng)用于各個(gè)領(lǐng)域。電子商務(wù)作為信息技術(shù)與現(xiàn)代經(jīng)濟(jì)貿(mào)易活動(dòng)結(jié)合的產(chǎn)物,成為人類進(jìn)入知識(shí)經(jīng)濟(jì)時(shí)代的重要標(biāo)志之一。它不僅會(huì)改變著企業(yè)本身的生產(chǎn)、經(jīng)

13、營(yíng)和管理活動(dòng),而且將影響到整個(gè)社會(huì)的經(jīng)濟(jì)運(yùn)行與結(jié)構(gòu),并最終影響到國家在國際經(jīng)濟(jì)生活中的地位和作用。網(wǎng)上花店正是順從了這種發(fā)展趨勢(shì),一改傳統(tǒng)的經(jīng)營(yíng)風(fēng)格,為現(xiàn)代人提供一種方便、快捷、高效的購花方式。同時(shí),也能給商家開拓更大的市場(chǎng),創(chuàng)造更多的價(jià)值。</p><p>  1.2 研究?jī)?nèi)容和意義</p><p><b>  1.2.1研究?jī)?nèi)容</b></p>&

14、lt;p>  本課題是網(wǎng)上花店系統(tǒng)研究與開發(fā),主要研發(fā)了這樣一些功能:</p><p>  (1)查詢功能:包括精確查詢和模糊查詢兩種方式。其中精確查詢主要完成按鮮花類別、價(jià)格區(qū)間和材料等進(jìn)行鮮花查詢的操作;模糊查詢主要完成按關(guān)鍵詞加鮮花的名稱或適用場(chǎng)合或配送范圍等進(jìn)行鮮花查詢的操作。</p><p>  (2)購物車管理功能:主要完成購物車購物賬單的添加、刪除等操作。</p&

15、gt;<p>  (3)留言功能:主要完成匿名用戶和注冊(cè)用戶的在線留言和查看留言等操作。</p><p>  (4)注冊(cè)功能:主要完成鮮花購買者的注冊(cè)操作。</p><p><b>  1.2.2研究意義</b></p><p>  電子商務(wù)在世界經(jīng)濟(jì)一體化,全球化不斷加快的今天,信息技術(shù)越來越廣泛地應(yīng)用于各個(gè)領(lǐng)域。電子商務(wù)作為信

16、息技術(shù)與現(xiàn)代經(jīng)濟(jì)貿(mào)易活動(dòng)結(jié)合的產(chǎn)物,成為人類進(jìn)入知識(shí)經(jīng)濟(jì)時(shí)代的重要標(biāo)志之一。網(wǎng)上花店正是順從了這種發(fā)展趨勢(shì),首先能給用戶帶來方便、快捷和高效,使用戶足不出門就能買到自己喜歡的鮮花。另外,由于網(wǎng)絡(luò)的普及,電腦的平民化,無疑網(wǎng)絡(luò)用戶是一個(gè)非常有潛力的市場(chǎng),網(wǎng)絡(luò)花店正好抓住這個(gè)市場(chǎng),能給商家?guī)砜涨暗睦麧?rùn)。</p><p>  第二章系統(tǒng)開發(fā)工具及相關(guān)技術(shù)</p><p>  2.1 Jav

17、a簡(jiǎn)介</p><p>  Java技術(shù)也是此系統(tǒng)中貫穿始終的核心技術(shù),此系統(tǒng)中的模型層(model)就由它來實(shí)現(xiàn)。</p><p>  Java,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺(tái)的總稱。用Java實(shí)現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺(tái)、動(dòng)態(tài)的Web、Internet計(jì)算。從此,J

18、ava被廣泛接受并推動(dòng)了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java applet。</p><p>  Java主要有以下幾個(gè)特性:</p><p>  1、Java語言是簡(jiǎn)單的。Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換

19、。特別地,Java語言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。 </p><p>  2、Java語言是一個(gè)面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡(jiǎn)單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語言全面支持動(dòng)態(tài)綁定,而C++ 語言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定??傊琂ava語言是一個(gè)純的面向?qū)ο蟪绦?/p>

20、設(shè)計(jì)語言。 </p><p>  3、Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java.net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。 </p><p>  4、J

21、ava語言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。 </p><p>  5、Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對(duì)通過網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLo

22、ader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。 </p><p>  6、Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。 &

23、lt;/p><p>  7、Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。 </p><p>  8、Java語言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式, 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任

24、何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。 </p><p>  9、Java是高性能的。與那些解釋型的高級(jí)腳本語言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C++。 </p><p>  10、Java語言是多線程的。在Ja

25、va語言中,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable) 的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活

26、動(dòng)由一組方法來控制。 Java語言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。 </p><p>  11、Java語言是動(dòng)態(tài)的。Java語言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級(jí)。另外,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查。 </p>

27、<p>  Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對(duì)對(duì)象技術(shù)的全面支持和Java平臺(tái)內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時(shí)間并降低成本。Java的編譯一次,到處可運(yùn)行的特性使得它能夠提供一個(gè)隨處可用的開放結(jié)構(gòu)和在多平臺(tái)之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計(jì)算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富

28、的類庫。</p><p>  2.2 JSP簡(jiǎn)介</p><p>  在此系統(tǒng)中JSP技術(shù)主要負(fù)責(zé)視圖層的編寫。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變

29、得迅速和容易。 </p><p>  Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。 </p><p>  JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就

30、能瀏覽。 JSP的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范。目前較新的是JSP1.2規(guī)范,JSP2.0規(guī)范的征求意見稿也已出臺(tái)。 </p><p>  JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需

31、要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 自JSP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語言。 JSP可用一種簡(jiǎn)單易懂的等式表示為:HTML+Java=JSP。</p><p>  2.3 SERVLET簡(jiǎn)介</p&

32、gt;<p>  本系統(tǒng)的控制器層采用Servlet實(shí)現(xiàn)。Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁面。 它擔(dān)當(dāng)客戶請(qǐng)求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,

33、該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。</p><p>  2.4 AJAX簡(jiǎn)介</p><p>  Ajax技術(shù)在此系統(tǒng)中主要用來實(shí)現(xiàn)局部通信的功能,提高系統(tǒng)的交互效率。AJAX技術(shù)的最大優(yōu)點(diǎn),就是能在不更新整個(gè)頁面的前提下維護(hù)數(shù)據(jù)。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動(dòng)作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息。</p><p>  傳

34、統(tǒng)的web應(yīng)用允許用戶填寫表單(form),當(dāng)提交表單時(shí)就向web服務(wù)器發(fā)送一個(gè)請(qǐng)求。服務(wù)器接收并處理傳來的表單,然后返回一個(gè)新的網(wǎng)頁。這個(gè)做法浪費(fèi)了許多帶寬,因?yàn)樵谇昂髢蓚€(gè)頁面中的大部分HTML代碼往往是相同的。由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請(qǐng)求,應(yīng)用的響應(yīng)時(shí)間就依賴于服務(wù)器的響應(yīng)時(shí)間。這導(dǎo)致了用戶界面的響應(yīng)比本地應(yīng)用慢得多。 </p><p>  與此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù)

35、,它使用SOAP或其它一些基于XML的web service接口,并在客戶端采用JavaScript處理來自服務(wù)器的響應(yīng)。因?yàn)樵诜?wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應(yīng)更快的應(yīng)用。同時(shí)很多的處理工作可以在發(fā)出請(qǐng)求的客戶端機(jī)器上完成,所以Web服務(wù)器的處理時(shí)間也減少了。</p><p>  2.5 MVC簡(jiǎn)介模式</p><p>  MVC本來是存在于Desktop程序中

36、的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。如圖2-1所示:</p><p>  圖2-1 MVC模型</p><p>  MVC是一個(gè)架構(gòu)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用

37、MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。 </p><p><b> ?。?)視圖 </b></p><p>  視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Adobe Flash和象

38、XHTML,XML/XSL,WML等一些標(biāo)識(shí)語言和Web services. </p><p>  如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。 </p><p><b>  (2)模型 <

39、;/b></p><p>  模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件對(duì)象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。 </p><p><

40、;b> ?。?)控制器 </b></p><p>  控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器(例如:Servlet)本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后確定用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。 </p><p>  現(xiàn)在我們總結(jié)MVC的處理過程,首先控

41、制器接收用戶的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型來進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。</p><p>  第三章 系統(tǒng)需求分析</p><p><b>  3.1 用戶需求 </b></p><p><b>  3.1.1數(shù)據(jù)需求</b>&

42、lt;/p><p>  (1)用戶登陸以及注冊(cè)的信息數(shù)據(jù),管理員的信息</p><p> ?。?)鮮花分類價(jià)格的一些介紹信息</p><p> ?。?)用戶所下訂單信息</p><p> ?。?)用戶預(yù)覽鮮花的信息,以及曾經(jīng)購買鮮花的記錄</p><p><b>  3.1.2功能需求</b><

43、/p><p> ?。?)用戶進(jìn)入系統(tǒng)后,注冊(cè)用戶可以購買鮮花</p><p> ?。?)店中的鮮花分類保存</p><p>  (3)能夠支持鮮花的查詢功能,根據(jù)花名的關(guān)鍵字查詢</p><p> ?。?)用戶在選擇鮮花類別后,顯示類別下鮮花的信息,方便用戶瀏覽。</p><p> ?。?)用戶瀏覽鮮花時(shí)可以將自己所想要購

44、買的鮮花放入購物車?yán)?lt;/p><p>  (6)購物車中計(jì)算用戶購賣鮮花的實(shí)際價(jià)格,讓用戶明白自己的消費(fèi)情況</p><p> ?。?)非注冊(cè)用戶也能實(shí)現(xiàn)對(duì)鮮花信息的查閱和搜索</p><p><b>  3.1.3性能需求</b></p><p> ?。?)準(zhǔn)確性和及時(shí)性:在性能上要保證系統(tǒng)的響應(yīng)時(shí)間是客戶可以接受的。

45、</p><p>  (2)易用性: 本系統(tǒng)是直接面對(duì)用戶的,而用戶往往對(duì)計(jì)算機(jī)并不一定非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面,從而保證系統(tǒng)的易用性。</p><p><b>  3.2可行性分析</b></p><p>  3.2.1經(jīng)濟(jì)可行性分析&

46、lt;/p><p>  本系統(tǒng)開發(fā)在軟件方面主要使用了JSP設(shè)計(jì)技術(shù)、MyEclipse、SQL Server 2005后臺(tái)數(shù)據(jù)庫等軟件,在Windows平臺(tái)下也可以運(yùn)行,本系統(tǒng)開發(fā)作為畢業(yè)設(shè)計(jì)使用,無須投入大量資金,因此經(jīng)濟(jì)可行性可以</p><p>  3.2.2技術(shù)可行性分析</p><p>  JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面

47、被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。</p><p>  3.2.3法律可行性</p><p>  本軟件作

48、為應(yīng)屆畢業(yè)生的畢業(yè)設(shè)計(jì)完全不觸犯國家任何的法律,所以從法律可行性上來說是完全可行的。</p><p>  第四章 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  4.1 設(shè)計(jì)思路</b></p><p>  通過對(duì)系統(tǒng)的分析,總結(jié)出來該系統(tǒng)應(yīng)該具備用以下主要幾個(gè)功能:</p><p>  1、用戶可以通過多種方式進(jìn)行瀏覽鮮花

49、,其中包括按照鮮花類別、鮮花價(jià)格區(qū)間和鮮花材料。</p><p>  2、模糊搜索,如果用戶隱約記著想找的鮮花的部分信息的話,可以使用模糊搜索的方式搜一下。模糊搜索可以通過3種方式(鮮花名稱、鮮花適用場(chǎng)合和鮮花派送范圍),選擇其中一種方式,然后輸入關(guān)鍵字進(jìn)行搜索。</p><p>  3、搜索到想要的鮮花,可以把它放到購物車中,但放到購物車前必須登錄系統(tǒng)。對(duì)購物車中不想要的鮮花可以進(jìn)行刪除

50、。</p><p>  4、用戶可以瀏覽、發(fā)表留言。沒登陸的情況下發(fā)表留言,留言信息中用戶名項(xiàng)會(huì)默認(rèn)為空null。而登陸過后會(huì)顯示自己的用戶名。</p><p><b>  4.2 總體設(shè)計(jì)</b></p><p>  本系統(tǒng)包括的模塊有:登錄模塊、查詢模塊、購物車管理模塊、留言模塊、注冊(cè)模塊。系統(tǒng)功能圖如圖3-1所示:</p>

51、<p>  圖4-1 系統(tǒng)功能圖</p><p><b>  圖4-2系統(tǒng)流程圖</b></p><p><b>  4.3數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  4.3.1 E-R圖</p><p>  圖4-3 數(shù)據(jù)庫E-R圖</p><p>  4.3.2數(shù)

52、據(jù)庫表設(shè)計(jì)</p><p>  本系統(tǒng)包括九個(gè)表,管理員表(admin,見4-4表),商品表(goods,見4-5表),留言表(leaveLanguage,見4-6表),訂單表(orders,見4-7表),訂單細(xì)節(jié)表(orderDetails,見4-8表),訂購鮮花公司表(produce,見4-9表),鮮花公司細(xì)節(jié)表(produceDetails,見4-10表),種類表(sort,見4-11表),用戶資料表(us

53、ers,見4-12表)。</p><p>  表4-4 管理員表(admin)</p><p><b>  代碼:</b></p><p>  SET ANSI_NULLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTI

54、FIER ON</p><p><b>  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  GO</b></p><p>  CREATE TABLE [dbo].[admin](</p><p>  [adminId]

55、[int] IDENTITY(1000,1) NOT NULL,</p><p>  [adminName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [adminPass] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL</p><p>

56、  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  SET ANSI_PADDING OFF</p><p>  表4-5 商品表(goods)</p><p><b>  代碼:</b></p><p>  SET ANSI_NU

57、LLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  GO<

58、;/b></p><p>  CREATE TABLE [dbo].[goods](</p><p>  [goodsId] [int] IDENTITY(3000,1) NOT NULL,</p><p>  [goodsName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p>&l

59、t;p>  [goodsmaterial] [varchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [goodsPackage] [varchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [goodsLanguage] [varchar](200) COL

60、LATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [goodsPrice] [float] NOT NULL,</p><p>  [goodsCent] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [goodsScope] [varchar](100)

61、COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [goodsPlace] [varchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [goodsHabitus] [varchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,</p>

62、<p>  [sortName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  CONSTRAINT [pk_goodsId] PRIMARY KEY CLUSTERED </p><p><b>  (</b></p><p>  [goodsId] ASC

63、</p><p>  )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  SET ANSI_PADDING OFF</p><p>  表4-6 留言表(

64、leaveLanguage)</p><p><b>  代碼:</b></p><p>  SET ANSI_NULLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>

65、  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  GO</b></p><p>  CREATE TABLE [dbo].[leaveLanguage](</p><p>  [leaveLanguageId] [int] IDENTITY(9000,1

66、) NOT NULL,</p><p>  [name] [varchar](40) COLLATE Chinese_PRC_CI_AS NULL,</p><p>  [qq] [varchar](40) COLLATE Chinese_PRC_CI_AS NULL,</p><p>  [email] [varchar](100) COLLATE Chinese

67、_PRC_CI_AS NULL,</p><p>  [leaveLanguage] [varchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [dateTime] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL</p><p>  ) ON [PRIM

68、ARY]</p><p><b>  GO</b></p><p>  SET ANSI_PADDING OFF</p><p>  表4-7 訂單表(orders)</p><p><b>  代碼:</b></p><p>  SET ANSI_NULLS ON</

69、p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  GO</b><

70、/p><p>  CREATE TABLE [dbo].[orders](</p><p>  [ordersId] [int] IDENTITY(7000,1) NOT NULL,</p><p>  [usersName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  

71、[ordersPrice] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [ordersDatetime] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  CONSTRAINT [pk_ordersId] PRIMARY KEY CLUSTERE

72、D </p><p><b>  (</b></p><p>  [ordersId] ASC</p><p>  )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]</p><p>  ) ON [PRIMARY]</p><p><b>  GO<

73、;/b></p><p>  SET ANSI_PADDING OFF</p><p>  表4-8 訂單細(xì)節(jié)表(orderDetails)</p><p><b>  代碼:</b></p><p>  SET ANSI_NULLS ON</p><p><b>  GO<

74、/b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  GO</b></p><p>  CREATE TABLE [

75、dbo].[ordersDetails](</p><p>  [ordersId] [int] NOT NULL,</p><p>  [goodsName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [goodsPrice] [varchar](40) COLLATE Chinese_

76、PRC_CI_AS NOT NULL,</p><p>  [goodsCount] [int] NOT NULL</p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  SET ANSI_PADDING OFF</p><p>  表4-9

77、 訂購鮮花公司表(produce)</p><p><b>  代碼:</b></p><p>  SET ANSI_NULLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b&

78、gt;  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  GO</b></p><p>  CREATE TABLE [dbo].[produce](</p><p>  [produceId] [int] IDENTITY(5000,1) NOT NUL

79、L,</p><p>  [produceName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL</p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  SET ANSI_PADDING OFF</p>

80、;<p>  表4-10 鮮花公司細(xì)節(jié)表(produceDetails)</p><p><b>  代碼:</b></p><p>  SET ANSI_NULLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON&

81、lt;/p><p><b>  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  GO</b></p><p>  CREATE TABLE [dbo].[produceDetails](</p><p>  [produceI

82、d] [int] NOT NULL,</p><p>  [produceName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [sortId] [int] NOT NULL,</p><p>  [goodsId] [int] NOT NULL</p><p> 

83、 ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  SET ANSI_PADDING OFF</p><p>  表4-11 種類表(sort)</p><p><b>  代碼:</b></p><p>  SET ANSI_NUL

84、LS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  GO<

85、/b></p><p>  CREATE TABLE [dbo].[sort](</p><p>  [sortId] [int] IDENTITY(4000,1) NOT NULL,</p><p>  [sortName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL</p><p&g

86、t;  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  SET ANSI_PADDING OFF</p><p>  表4-12 用戶資料表(users)</p><p><b>  代碼:</b></p><p>  SET AN

87、SI_NULLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  SET ANSI_PADDING ON</p><p><b>  

88、GO</b></p><p>  CREATE TABLE [dbo].[users](</p><p>  [usersId] [int] IDENTITY(2000,1) NOT NULL,</p><p>  [usersName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p>

89、;<p>  [usersPass] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [usersRepass] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [usersPassQuestion] [varchar](40) CO

90、LLATE Chinese_PRC_CI_AS NULL,</p><p>  [usersPassReply] [varchar](40) COLLATE Chinese_PRC_CI_AS NULL,</p><p>  [usersTrueName] [varchar](40) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p&

91、gt;  [usersAddress] [varchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [usersPhone] [varchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,</p><p>  [usersE_mail] [varchar](100) COLLATE Chin

92、ese_PRC_CI_AS NOT NULL</p><p>  ) ON [PRIMARY]</p><p><b>  GO</b></p><p>  SET ANSI_PADDING OFF</p><p><b>  4.4 系統(tǒng)實(shí)現(xiàn)</b></p><p><

93、;b>  1.登錄模塊</b></p><p><b> ?。?)界面設(shè)計(jì)</b></p><p><b> ?。?)算法設(shè)計(jì)</b></p><p>  登錄模塊的算法流程圖如圖4-13所示。用戶在登陸頁面輸入登錄的信息,點(diǎn)擊確定后會(huì)首先把提交的表單發(fā)送給一個(gè)Servlet(在本系統(tǒng)中名為L(zhǎng)oginAj

94、ax),這個(gè)Servlet首先會(huì)把數(shù)據(jù)流向一個(gè)用戶數(shù)據(jù)訪問對(duì)象即UserDAO,通過這個(gè)對(duì)象判斷一下該用戶是否存在,繼而判斷密碼是否正確。一旦這兩項(xiàng)有任何一個(gè)失敗,該Servlet就會(huì)把該失敗信息反饋到客戶端,即把數(shù)據(jù)流向視圖層。若這兩項(xiàng)都成功,那么該Servlet就會(huì)把用戶的信息保存在服務(wù)器端的session中,然后再轉(zhuǎn)到首頁。</p><p>  圖4-13 登錄模塊MVC模型</p><

95、p><b>  2. 留言模塊</b></p><p><b> ?。?)界面設(shè)計(jì)</b></p><p><b>  圖4-14 留言</b></p><p><b>  (2)算法設(shè)計(jì)</b></p><p>  留言模塊的算法流程圖如圖4-15

96、所示。用戶在留言頁面寫好留言,點(diǎn)擊提交后,表單會(huì)被發(fā)送給服務(wù)器端的一個(gè)Servlet(MessageAjax),該Servlet首先會(huì)提取用戶的信息,判斷是否為登錄用戶,或是游客。然后再把相應(yīng)的數(shù)據(jù)交給留言數(shù)據(jù)訪問對(duì)象(MessageDAO),有這個(gè)對(duì)象把流過來的數(shù)據(jù)存儲(chǔ)到messages表中。之后該Servlet就發(fā)送存儲(chǔ)成功的消息給留言頁面,然后再由留言頁面把剛才的留言顯示出來。</p><p>  圖4-1

97、5 留言模塊MVC模型</p><p><b> ?。?)代碼:</b></p><p>  <%@ page contentType="text/html; charset=gb2312" language="java" import="com.*,java.util.*,java.io.*"%>

98、;</p><p>  <!-- saved from url=(0038)http://www.qdhua.com/message/index.asp --></p><p>  <HTML><HEAD><TITLE>language</TITLE></p><p>  <META http-equ

99、iv=Content-Type content="text/html; charset=gb2312"></p><p>  <META content=留言本 name=description><LINK href="languageImage.files/mt_style.css" </p><p>  type=text

100、/css rel=stylesheet></p><p>  <STYLE type=text/css></p><p><b>  BODY {</b></p><p>  FONT-SIZE: 9pt</p><p><b>  }</b></p><p&g

101、t;<b>  TD {</b></p><p>  FONT-SIZE: 9pt</p><p><b>  }</b></p><p><b>  TH {</b></p><p>  FONT-SIZE: 9pt</p><p><b>

102、  }</b></p><p><b>  BODY {</b></p><p>  MARGIN-TOP: 0px; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px</p><p><b>  }</b></p><p><b>  .樣式1 {<

103、;/b></p><p>  COLOR: #ffffff</p><p><b>  }</b></p><p><b>  .EN {</b></p><p>  FONT-SIZE: 9pt; COLOR: #000000</p><p><b>  }

104、</b></p><p>  A.EN:link {</p><p>  FONT-SIZE: 9pt; COLOR: #000000</p><p><b>  }</b></p><p>  A.EN:visited {</p><p>  FONT-SIZE: 9pt; COLO

105、R: #000000</p><p><b>  }</b></p><p>  A.EN:active {</p><p>  FONT-SIZE: 9pt; COLOR: #006699; TEXT-DECORATION: underline</p><p><b>  }</b></p&

106、gt;<p><b>  </STYLE></b></p><p><b>  <STYLE></b></p><p><b>  TD {</b></p><p>  FONT-SIZE: 9pt; COLOR: #353535; LINE-HEIGHT: 12

107、0%</p><p><b>  }</b></p><p><b>  BODY {</b></p><p>  FONT-SIZE: 9pt; LINE-HEIGHT: 120%</p><p><b>  }</b></p><p><b&g

108、t;  A:link {</b></p><p>  COLOR: #000000; TEXT-DECORATION: none</p><p><b>  }</b></p><p>  A:visited {</p><p>  COLOR: #000000; TEXT-DECORATION: none&

109、lt;/p><p><b>  }</b></p><p>  A:active {</p><p>  COLOR: #000000; TEXT-DECORATION: none</p><p><b>  }</b></p><p><b>  A:hover {&

110、lt;/b></p><p>  RIGHT: 0px; COLOR: #336699; POSITION: relative; TOP: 1px; TEXT-DECORATION: none</p><p><b>  }</b></p><p><b>  </STYLE></b></p>

111、<p>  <SCRIPT language=JavaScript></p><p><b>  <!--</b></p><p>  function MM_displayStatusMsg(msgStr) { //v1.0</p><p>  status=msgStr;</p><p&g

112、t;  document.MM_returnValue = true;</p><p><b>  }</b></p><p><b>  //--></b></p><p><b>  </SCRIPT></b></p><p>  <META con

113、tent="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD></p><p>  <BODY bgColor=#ffffff leftMargin=0 topMargin=0></p><p>  <STYLE type=text/css>A:link {</p><

114、p>  FONT-SIZE: 9pt; TEXT-DECORATION: none</p><p><b>  }</b></p><p><b>  UNKNOWN {</b></p><p>  FONT-SIZE: 9pt; COLOR: #f51424</p><p><b>

115、;  }</b></p><p><b>  UNKNOWN {</b></p><p>  COLOR: #000000</p><p><b>  }</b></p><p><b>  UNKNOWN {</b></p><p>  F

116、ONT-SIZE: 9pt; COLOR: #000000</p><p><b>  }</b></p><p><b>  UNKNOWN {</b></p><p>  FONT-FAMILY: Arial, Helvetica, sans-serif</p><p><b>  }

117、</b></p><p><b>  </STYLE></b></p><p>  <SCRIPT language=JavaScript type=text/JavaScript></p><p><b>  <!--</b></p><p>  func

118、tion MM_reloadPage(init) { //reloads the window if Nav4 resized</p><p>  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {</p><p>  doc

119、ument.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}</p><p>  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();</p><p><b>

120、;  }</b></p><p>  MM_reloadPage(true);</p><p><b>  //--></b></p><p><b>  </SCRIPT></b></p><p>  <jsp:useBean id="LeaveLan

121、guageClass" class="com.LeaveLanguageClass" scope="page"/></p><p>  <jsp:useBean id="leavelanguageBean" class="com.leavelanguageBean" scope="page"/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論