畢業(yè)設(shè)計(jì)基于web的大學(xué)跳蚤市場(chǎng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  湖 南 農(nóng) 業(yè) 大 學(xué)</p><p>  全日制普通本科生畢業(yè)設(shè)計(jì)</p><p>  基于WEB的大學(xué)跳蚤市場(chǎng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  DESIGN AND IMPLEMENTATION OF UNIVERSITIES’ FLEA MARKET BASED ON WEB</p><p><b>  

2、學(xué)生姓名:</b></p><p>  學(xué) 號(hào):200641802123</p><p>  年級(jí)專(zhuān)業(yè)及班級(jí):2006級(jí)信息工程(1)班</p><p>  指導(dǎo)老師及職稱(chēng): 講師</p><p>  學(xué) 院:信息科學(xué)技術(shù)學(xué)院</p><p><b>  湖南·長(zhǎng)

3、沙</b></p><p>  提交日期:2010年6月</p><p><b>  目 錄</b></p><p><b>  摘 要:1</b></p><p><b>  關(guān) 鍵 詞:1</b></p><p><b&g

4、t;  1 前言2</b></p><p>  1.1 研究背景及意義2</p><p>  1.2 國(guó)內(nèi)外研究現(xiàn)狀2</p><p>  1.3 可行性分析3</p><p>  1.3.1 經(jīng)濟(jì)可行性3</p><p>  1.4 本設(shè)計(jì)所用技術(shù)的簡(jiǎn)介3</p>&

5、lt;p>  1.4.1 MVC設(shè)計(jì)模式概述3</p><p>  1.4.2 常見(jiàn)web開(kāi)發(fā)語(yǔ)言mvc框架6</p><p>  1.4.3 本設(shè)計(jì)實(shí)現(xiàn)mvc的技術(shù)6</p><p>  2 系統(tǒng)需求分析6</p><p>  2.1 需求調(diào)研6</p><p>  2.2 業(yè)務(wù)流程分析

6、7</p><p>  2.3 系統(tǒng)數(shù)據(jù)流圖7</p><p>  2.4 系統(tǒng)功能需求分析8</p><p>  2.4.1 功能劃分8</p><p>  2.4.2 功能描述9</p><p>  3 系統(tǒng)設(shè)計(jì)10</p><p>  3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)10&

7、lt;/p><p>  3.2 數(shù)據(jù)庫(kù)表的設(shè)計(jì)10</p><p>  3.3 系統(tǒng)開(kāi)發(fā)與運(yùn)行環(huán)境確定12</p><p>  3.3.1 系統(tǒng)開(kāi)發(fā)環(huán)境12</p><p>  3.3.2 系統(tǒng)運(yùn)行環(huán)境12</p><p>  3.4 系統(tǒng)實(shí)現(xiàn)的若干關(guān)鍵技術(shù)13</p><p>

8、  3.4.1 jsp與tomcat技術(shù)13</p><p>  3.4.2 JDBC簡(jiǎn)介13</p><p>  4 詳細(xì)設(shè)計(jì)14</p><p>  4.1 系統(tǒng)登錄模塊模塊簡(jiǎn)介14</p><p>  4.2 模塊體系結(jié)構(gòu)15</p><p>  4.3 運(yùn)行圖15</p>

9、<p>  4.4 設(shè)計(jì)說(shuō)明16</p><p>  4.4.1 新用戶(hù)注冊(cè)子模塊17</p><p>  4.4.2 用戶(hù)登錄子模塊18</p><p>  4.4.3 商品發(fā)布模塊19</p><p>  4.4.4 商品搜索模塊20</p><p>  4.4.5 查看商品詳細(xì)信息

10、模塊22</p><p>  4.4.6 管理員管理模塊24</p><p><b>  5 測(cè)試29</b></p><p><b>  6 總結(jié)29</b></p><p><b>  參考文獻(xiàn)29</b></p><p><b

11、>  致 謝31</b></p><p>  基于web的大學(xué)跳蚤市場(chǎng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  學(xué) 生:</b></p><p>  指導(dǎo)老師: </p><p>  (湖南農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院,長(zhǎng)沙 410128)</p><p> 

12、 摘 要:隨著Internet的使用越來(lái)越廣泛,網(wǎng)絡(luò)跳蚤市場(chǎng)已成為很多大學(xué)生進(jìn)行物品交易的一個(gè)平臺(tái)。它為供需雙方提供了極為便利的二手物品信息交流,特別是對(duì)于廣大青年學(xué)生,這種經(jīng)濟(jì)型消費(fèi)模式更是受到推崇。本設(shè)計(jì)遵循了模塊化設(shè)計(jì)的原則,將一個(gè)完整的大學(xué)生購(gòu)物網(wǎng)站分解為各個(gè)模塊,然后逐一實(shí)現(xiàn)各個(gè)模塊的功能,最后把各個(gè)模塊組裝到一起構(gòu)成了一個(gè)完整的二手購(gòu)物網(wǎng)站。本系統(tǒng)采用MVC的設(shè)計(jì)模式進(jìn)行設(shè)計(jì),用jsp+servlet+JavaBean的開(kāi)

13、發(fā)方式來(lái)實(shí)現(xiàn)此模式, 以MyEclipse作為主要的開(kāi)發(fā)工具,很好的實(shí)現(xiàn)了一個(gè)購(gòu)物網(wǎng)站基本的功能,很好地體現(xiàn)了MVC設(shè)計(jì)模式的思想。</p><p>  關(guān) 鍵 詞:購(gòu)物網(wǎng)站;MVC;MyEclipse</p><p>  DESIGN AND IMPLEMENTATION OF UNIVERSITIES’ FLEA MARKET BASED ON WEB</p><p

14、> ?。–ollege of Information Science and Technology, Hunan Agricultural University, Changsha 410128,China)</p><p>  Abstract: As the Internet used more widely,the network flea market has become a platform o

15、f trading goods for many college student. It provides a very convenient platform for both supply and demand to exchange of information, especially for the young students, this economic model is admired.This design follow

16、s the principles of modular design. The shopping site break down into various modules and then one by one to achieve the functions of each module, and finally to assemble the modules togethe</p><p>  Keyword

17、s:shopping site;MVC;MyEclipse</p><p><b>  1 前言</b></p><p>  1.1 研究背景及意義</p><p>  隨著Internet的使用越來(lái)越廣泛,網(wǎng)絡(luò)跳蚤市場(chǎng)已成為很多大學(xué)生進(jìn)行交易的一個(gè)平臺(tái)。它為供需雙方提供了極為便利的二手物品信息交流,特別是對(duì)于廣大青年學(xué)生,這種經(jīng)濟(jì)型消費(fèi)模

18、式更是受到推崇。</p><p>  隨著大學(xué)生的畢業(yè),他們手中有很多有價(jià)值的東西,但對(duì)于他們來(lái)說(shuō)已經(jīng)失去了利用價(jià)值,但直接丟掉有很可惜,所以又很大一部分人將之出售,以得到資金;而一些在校大學(xué)生有相當(dāng)一部分人,經(jīng)濟(jì)能力相對(duì)較差,但他們也要購(gòu)買(mǎi)一些物品,所以二手貨就成了他們的首選。所以二手商品交易對(duì)出售者和購(gòu)買(mǎi)者都有積極的意義。</p><p>  隨著網(wǎng)路的發(fā)展,上網(wǎng)的人越來(lái)越多,上網(wǎng)的條

19、件也越來(lái)越方便,學(xué)生就是一個(gè)上網(wǎng)的主要群體。網(wǎng)絡(luò)作為信息交換的媒介,越來(lái)越多的人已經(jīng)能夠接受并且習(xí)慣從網(wǎng)上搜索信息,因?yàn)榫W(wǎng)絡(luò)有其足不出戶(hù),卻可以方便的得知大量信息的優(yōu)點(diǎn)。在現(xiàn)在這個(gè)推崇時(shí)間和效益的社會(huì)里,它的優(yōu)點(diǎn)越來(lái)越得到體現(xiàn),坐在電腦前點(diǎn)擊鼠標(biāo)、敲擊鍵盤(pán),就能獲得自己所想要的信息資源。所以在網(wǎng)絡(luò)上進(jìn)行二手交易是提高信息資源利用率和交易效率的有力途徑?;谶@個(gè)目的而做的二手商品交易網(wǎng)站,就是給網(wǎng)絡(luò)上的二手商品交易提供一個(gè)載體,使之有規(guī)則

20、、有條理地集中在一起,方便交易雙方的信息發(fā)布和信息查看。所以二手商品交易網(wǎng)站對(duì)網(wǎng)絡(luò)二手交易有積極的影響。</p><p>  網(wǎng)站的設(shè)計(jì)和規(guī)劃現(xiàn)在國(guó)內(nèi)外已經(jīng)作為進(jìn)行宣傳和交易的主流方式。發(fā)展情況一日千里。而且不同的網(wǎng)站有各自不同的特色和功能。尤其在頁(yè)面設(shè)置上正在簡(jiǎn)單化、條理化,實(shí)現(xiàn)的功能不斷增加。</p><p>  隨著網(wǎng)絡(luò)的普及和電子銀行服務(wù)的完善。使人們不用出門(mén)就能以低廉的價(jià)格買(mǎi)到需

21、要的物品。給現(xiàn)代忙碌的人節(jié)省時(shí)間和金錢(qián)。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,用戶(hù)可以在成千上萬(wàn)的商品中通過(guò)收索功能輕松的找到自己想要的商品,并且能貨比三家。開(kāi)發(fā)此系統(tǒng)的目的和意義就在于花費(fèi)很少的時(shí)間和金錢(qián)就能買(mǎi)到需要的,質(zhì)量好的商品。</p><p>  1.2 國(guó)內(nèi)外研究現(xiàn)狀</p><p>  近年來(lái),隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并進(jìn)入傳統(tǒng)的流通領(lǐng)域.于是電

22、子商務(wù)開(kāi)始流行起來(lái),一種全新的購(gòu)物理念開(kāi)始形成并逐步發(fā)展.網(wǎng)上購(gòu)物是一種具有交互功能的商業(yè)信息系統(tǒng).它向用戶(hù)提供靜態(tài)和動(dòng)態(tài)兩類(lèi)信息資源.</p><p>  自2003年上半年以來(lái),沉寂了多年的中國(guó)互聯(lián)網(wǎng)產(chǎn)業(yè)正以強(qiáng)勁的勢(shì)頭復(fù)蘇并發(fā)展起來(lái),除了傳統(tǒng)的瀏覽,資料搜索,電子郵件等基本應(yīng)用外,國(guó)內(nèi)網(wǎng)民已經(jīng)開(kāi)始習(xí)慣通過(guò)網(wǎng)絡(luò)接受商務(wù),旅游,購(gòu)物,通訊,娛樂(lè)等服務(wù),根據(jù)中國(guó)互聯(lián)網(wǎng)信息中心最近提供的《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告

23、》調(diào)查顯示,網(wǎng)上購(gòu)物已經(jīng)由以前的嘗試性購(gòu)買(mǎi)向日常的生活習(xí)慣發(fā)展,其中以書(shū)籍,計(jì)算機(jī)產(chǎn)品,音像制品及器材等為網(wǎng)上購(gòu)物的主要對(duì)象,服裝,體育用品,生活家居用品等消費(fèi)額也開(kāi)始大幅度提高。</p><p>  1.3 可行性分析</p><p>  本系統(tǒng)主要從經(jīng)濟(jì)可行性和技術(shù)可行性?xún)蓚€(gè)角度對(duì)其可行性進(jìn)行分析:</p><p>  1.3.1 經(jīng)濟(jì)可行性</p&g

24、t;<p>  由于本設(shè)計(jì)是針對(duì)當(dāng)前在校大學(xué)生這種消費(fèi)群體的,當(dāng)前大學(xué)生經(jīng)濟(jì)能力有限,而又對(duì)時(shí)尚、前沿的東西感興趣,而這些東西更新?lián)Q代的速度很快,而大學(xué)生的消費(fèi)觀念還不很成熟,這樣就有可能造成買(mǎi)到的東西過(guò)一段時(shí)間之后就失去了興趣,而這自己不用了的東西如果可以出售給需要的人,這就是一種節(jié)約型的消費(fèi)觀念。</p><p>  本設(shè)計(jì)無(wú)需再經(jīng)濟(jì)上購(gòu)買(mǎi)居額設(shè)備就可實(shí)現(xiàn),所以在經(jīng)濟(jì)上是可行的。</p&g

25、t;<p>  1.3.2 技術(shù)可行性</p><p>  本系統(tǒng)使用jsp作為開(kāi)發(fā)技術(shù),使用目前大多數(shù)web應(yīng)用程序開(kāi)發(fā)的mvc的設(shè)計(jì)模式,而選用Apache tomcat作為服務(wù)器和選用mysql數(shù)據(jù)庫(kù),這都是當(dāng)前首選的開(kāi)發(fā)web應(yīng)用程序的最常用的環(huán)境。所以在技術(shù)上是完全可以勝任這個(gè)大學(xué)生跳蚤購(gòu)物網(wǎng)站的。</p><p>  按上述兩方面進(jìn)行可行性分析、研究后,我們認(rèn)為該

26、項(xiàng)目在技術(shù)上是可行的,</p><p>  經(jīng)濟(jì)上是可合理的,可以進(jìn)行開(kāi)發(fā)。</p><p>  1.4 本設(shè)計(jì)所用技術(shù)的簡(jiǎn)介</p><p>  1.4.1 MVC設(shè)計(jì)模式概述</p><p>  傳統(tǒng)web設(shè)計(jì)模式與mvc設(shè)計(jì)模式的比較[1]</p><p>  傳統(tǒng)web開(kāi)發(fā)模式基本上分為視圖,業(yè)務(wù)邏輯2層,

27、是水平方向的劃分。</p><p>  MVC模式是物理性的劃分為3層,是垂直方向的劃分。</p><p>  圖1 傳統(tǒng)web開(kāi)發(fā)模式 圖2 MVC開(kāi)發(fā)模式</p><p>  Fig1 The traditional web development model Fig1 MVC develop

28、ment model</p><p>  MVC架構(gòu)是"Model-View-Controller"的縮寫(xiě),中文翻譯為"模型-視圖-控制器"。MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴(lài)的View都會(huì)自動(dòng)更新。類(lèi)似的,只要Contr

29、oller改變了View,View會(huì)從潛在的Model中獲取數(shù)據(jù)來(lái)刷新自己。MVC架構(gòu)最早是smalltalk語(yǔ)言研究團(tuán)提出的,應(yīng)用于用戶(hù)交互應(yīng)用程序中[2]。</p><p>  圖3 MVC組件類(lèi)型的關(guān)系和功能</p><p>  Fig3 The relations and functions of MVC components’type</p><p>  

30、MVC結(jié)構(gòu)提供了一種按功能對(duì)各種對(duì)象進(jìn)行分割的方法,其目的是為了將各對(duì)象間的耦合程度減至最小。MVC結(jié)構(gòu)本來(lái)是為了將傳統(tǒng)的輸入(input)、處理(processing)、輸出(output)任務(wù)運(yùn)用到圖形化用戶(hù)交互模型中而設(shè)計(jì)的。但是,將這些概念運(yùn)用于基于Web的企業(yè)級(jí)多層應(yīng)用領(lǐng)域也是很適合的。</p><p>  在MVC結(jié)構(gòu)中,模型(Model)代表應(yīng)用程序的數(shù)據(jù)(data)和用于控制訪問(wèn)和修改這些數(shù)據(jù)的業(yè)

31、務(wù)邏輯(business rule)。</p><p>  當(dāng)模型發(fā)生改變時(shí),它會(huì)通知視圖(View),并且為視圖提供查詢(xún)模型相關(guān)狀態(tài)的能力。同時(shí),它也為控制器(Controller)提供訪問(wèn)封裝在模型內(nèi)部的應(yīng)用程序功能的能力。 </p><p>  一個(gè)視圖(View)用來(lái)組織模型的內(nèi)容。它從模型那里獲得數(shù)據(jù)并指定這些數(shù)據(jù)如何表現(xiàn)。當(dāng)模型變化時(shí),視負(fù)責(zé)維持?jǐn)?shù)據(jù)表現(xiàn)的一致性。視圖同時(shí)將

32、用戶(hù)要求告知控制器(Controller)。 </p><p>  控制器(Controller)定義了應(yīng)用程序的行為;它負(fù)責(zé)對(duì)來(lái)自視圖的用戶(hù)要求進(jìn)行解釋?zhuān)堰@些要求映射成相應(yīng)的行為,這些行為由模型負(fù)責(zé)實(shí)現(xiàn)。在獨(dú)立運(yùn)行的GUI客戶(hù)端,用戶(hù)要求可能是一些鼠標(biāo)單擊或是菜單選擇操作。在一個(gè)Web應(yīng)用程序中,它們的表現(xiàn)形式可能是一些來(lái)自客戶(hù)端的GET或POST的HTTP請(qǐng)求。模型所實(shí)現(xiàn)的行為包括處理業(yè)務(wù)和修改模型的

33、狀態(tài)。根據(jù)用戶(hù)要求和模型行為的結(jié)果,控制器選擇一個(gè)視作為對(duì)用戶(hù)請(qǐng)求的應(yīng)答。通常一組相關(guān)功能集對(duì)應(yīng)一個(gè)控制器。</p><p><b>  視圖</b></p><p>  視圖(View)代表用戶(hù)交互界面,對(duì)于Web應(yīng)用來(lái)說(shuō),可以概括為HTML界面,但有可能為XML、WML和Excel。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖

34、,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶(hù)的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)邏輯的處理。業(yè)務(wù)邏輯的處理由模型(Model)完成。比如一個(gè)訂單的視圖只接受來(lái)自模型的數(shù)據(jù)并顯示給用戶(hù),以及將用戶(hù)界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。</p><p><b>  控制器</b></p><p>  控制器(Controller)可以理解為從用戶(hù)接收請(qǐng)求

35、, 將模型與視圖匹配在一起,共同完成用戶(hù)的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶(hù)請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶(hù)點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后, 并不處理業(yè)務(wù)信息,它只把用戶(hù)的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶(hù)。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型。</p><p><

36、;b>  模型</b></p><p>  模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及數(shù)據(jù)模型的制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。模型的設(shè)計(jì)可以說(shuō)是MVC最主要的核心。</p><p>  1.4.2 常見(jiàn)web開(kāi)發(fā)語(yǔ)言mvc框架</p><p>  PHP:FleaPHP,Cak

37、ePHP ,Joomla </p><p>  JAVA:Struts ,Spring</p><p>  Python:Django ,Quixote </p><p>  Ruby:Ruby On Rails[3] </p><p>  1.4.3 本設(shè)計(jì)實(shí)現(xiàn)mvc的技術(shù)</p><p>  JSP作為視圖,只用

38、于顯示 </p><p>  Servlet作為控制器,所有的請(qǐng)求,跳轉(zhuǎn)都由servlet完成</p><p>  業(yè)務(wù)邏輯部分由javabean完成</p><p>  圖4 MVC 設(shè)計(jì)模式</p><p>  Fig4 MVC Design Pattern</p><p><b>  2 系統(tǒng)需求分

39、析</b></p><p>  根據(jù)上面所定義的課題研究方向及目標(biāo),本章將對(duì)系統(tǒng)功能進(jìn)行具體的需求分析,具體分析跳蚤購(gòu)物網(wǎng)站所要實(shí)現(xiàn)的功能及欲達(dá)到的效果。</p><p><b>  2.1 需求調(diào)研</b></p><p>  首先從主流的購(gòu)物網(wǎng)站上面如淘寶網(wǎng)、當(dāng)當(dāng)網(wǎng)去看他們的版面設(shè)計(jì)及功能,同時(shí)也在校內(nèi)同學(xué)之間去調(diào)查同學(xué)們對(duì)跳

40、蚤網(wǎng)站的一些所要實(shí)現(xiàn)的功能和版面設(shè)計(jì)。同時(shí)也到網(wǎng)上去找一些做得比較適合我做的一些大學(xué)生購(gòu)物網(wǎng)站來(lái)學(xué)習(xí),并且自己去注冊(cè)一個(gè)帳號(hào),親自體會(huì)他們網(wǎng)站的強(qiáng)大功能然后記錄下來(lái)。</p><p>  2.2 業(yè)務(wù)流程分析</p><p>  本系統(tǒng)工作流程是:用戶(hù)用瀏覽器登錄到網(wǎng)站主頁(yè),可以查看各個(gè)用戶(hù)所要出售的各種商品,同時(shí)可以查看商品的詳細(xì)信息包括發(fā)布商品的人的信息和商品數(shù)量和商品狀態(tài)。同時(shí)訪問(wèn)

41、網(wǎng)站的人也可以搜索自己感興趣的商品。但是只有注冊(cè)了,才有可能去買(mǎi)商品。同時(shí)注冊(cè)者也可以通過(guò)管理員對(duì)自己賬戶(hù)充值,類(lèi)似于支付寶功能。同時(shí)管理員可以查詢(xún)注冊(cè)用戶(hù)的詳細(xì)信息。</p><p><b>  具體目標(biāo)如下:</b></p><p>  (1)操作簡(jiǎn)單、界面友好:用戶(hù)可以發(fā)布、查詢(xún)商品的各種相關(guān)信息,同時(shí)可以根據(jù)商品的狀態(tài)來(lái)是否購(gòu)買(mǎi)商品。</p>&

42、lt;p> ?。?)即時(shí)可見(jiàn):登錄用戶(hù)可以隨時(shí)查看自己所購(gòu)買(mǎi)的商品的數(shù)量、價(jià)格等方面的信息。</p><p>  2.3 系統(tǒng)數(shù)據(jù)流圖</p><p>  本系統(tǒng)主要完成跳蚤網(wǎng)站的瀏覽與管理的功能,因此,在邏輯上可以將系統(tǒng)分為網(wǎng)站瀏覽系統(tǒng)和網(wǎng)站管理系統(tǒng)兩部分,同時(shí),系統(tǒng)的所有數(shù)據(jù)都需通過(guò)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)來(lái)實(shí)現(xiàn)查詢(xún)、更新和輸入,所以在總體上可將總系統(tǒng)分為網(wǎng)站瀏覽系統(tǒng)、網(wǎng)站管理系統(tǒng)和數(shù)據(jù)

43、庫(kù)系統(tǒng)三個(gè)系統(tǒng),對(duì)本系統(tǒng)操作的數(shù)據(jù)源有普通瀏覽者、注冊(cè)用戶(hù)和管理員三種[4]。</p><p>  圖5 系統(tǒng)數(shù)據(jù)流圖 </p><p>  Fig5 System data flow diagram </p><p>  圖6 用戶(hù)登錄數(shù)據(jù)流</p><p>  Fig6 The data flow diagram of use

44、r login</p><p>  2.4 系統(tǒng)功能需求分析</p><p>  2.4.1 功能劃分</p><p>  根據(jù)上一節(jié)的流程圖,把系統(tǒng)劃分成兩個(gè)大的模塊來(lái)完成:前臺(tái)模塊和后臺(tái)管理模塊。模塊劃分如表所示。</p><p><b>  表1 模塊及功能</b></p><p>  

45、Table1 Modules and function</p><p>  2.4.2 功能描述</p><p><b>  表2前臺(tái)功能列表</b></p><p>  Table2 The function list of front modules</p><p><b>  表3用戶(hù)管理模塊</

46、b></p><p>  Table3 The user management modules</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</p><p>  本系統(tǒng)主要包括三大模塊組成:網(wǎng)站訪問(wèn)者模塊、用戶(hù)模塊、系統(tǒng)管理員模塊[5]。</p>

47、<p>  整個(gè)系統(tǒng)的結(jié)構(gòu)框架如下圖所示</p><p><b>  圖7 結(jié)構(gòu)框架</b></p><p>  Table7 Structural framework</p><p>  3.2 數(shù)據(jù)庫(kù)表的設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是項(xiàng)目開(kāi)發(fā)中的系統(tǒng)設(shè)計(jì)中非常重要的另一個(gè)關(guān)鍵環(huán)節(jié),在這里之所以特別

48、強(qiáng)調(diào)數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性,是因?yàn)閿?shù)據(jù)庫(kù)設(shè)計(jì)就像在建設(shè)高樓大廈的根基一樣,如果設(shè)計(jì)不好,在后來(lái)的系統(tǒng)維護(hù)、變更和功能擴(kuò)充時(shí),甚至在系統(tǒng)開(kāi)發(fā)過(guò)程中,將會(huì)引起比較大的問(wèn)題,會(huì)遇到非常大的困難,大量的工作將會(huì)重新進(jìn)行[6]。</p><p>  (1) 數(shù)據(jù)庫(kù)表及表之間的相互關(guān)系</p><p>  本系統(tǒng)需要設(shè)計(jì)的數(shù)據(jù)庫(kù)表如下</p><p><b>  表4數(shù)據(jù)

49、庫(kù)表</b></p><p>  Table4 Database table</p><p> ?。?) 數(shù)據(jù)庫(kù)表結(jié)構(gòu)的詳細(xì)設(shè)計(jì)</p><p>  下面開(kāi)始對(duì)上一節(jié)列出的數(shù)據(jù)表逐一做出詳細(xì)說(shuō)明。</p><p>  表5 用戶(hù)基本信息表tb_member</p><p>  Table5 User bas

50、ic information table tb_member</p><p>  表6 管理員基本信息表tb_manager</p><p>  Table6 Administrator basic information table tb_member</p><p>  表7 商品信息表tb_goods</p><p>  Table7

51、Goods information table tb_goods</p><p>  表8 商品訂單表tb_order</p><p>  Table8 Goods order table tb_order</p><p>  3.3 系統(tǒng)開(kāi)發(fā)與運(yùn)行環(huán)境確定</p><p>  3.3.1 系統(tǒng)開(kāi)發(fā)環(huán)境</p><p&

52、gt;  開(kāi)發(fā)工具對(duì)一個(gè)系統(tǒng)的成敗具有決定性作用。由于本系統(tǒng)是應(yīng)用于網(wǎng)絡(luò)的,因此,我們選擇了jsp技術(shù)進(jìn)行開(kāi)發(fā),用MVC的設(shè)計(jì)模式,用jsp+servlet+JavaBean來(lái)實(shí)現(xiàn)MVC設(shè)計(jì)模式;同時(shí),選用mysql作為系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù),開(kāi)發(fā)中將用到以下主要幾款開(kāi)發(fā)工具[7]:</p><p>  表9 開(kāi)發(fā)工具及用途</p><p>  Table9 Tools and applicati

53、on</p><p>  3.3.2 系統(tǒng)運(yùn)行環(huán)境</p><p><b>  硬件環(huán)境:</b></p><p>  服務(wù)器端: 推薦配置為512M內(nèi)存,CPU為Intel Pentium Ⅳ 1700MHZ,硬盤(pán)容量為80G的微機(jī)[8]。</p><p>  通信網(wǎng)絡(luò): Internet網(wǎng)</p>&

54、lt;p><b>  軟件環(huán)境:</b></p><p><b>  服務(wù)器端:</b></p><p>  (1) 操作系統(tǒng): Windows 2000 Server /NT/2003 Server/XP</p><p>  (2) 數(shù)據(jù)庫(kù): mysql5.1</p><p>  (

55、3) Web服務(wù)器:Apache tomcat5.5</p><p><b>  客戶(hù)端:</b></p><p>  (1) 操作系統(tǒng): Windows 2000/XP/2003/Vista/7</p><p>  (2) 瀏覽器: Internet Explore 6.0或以上版本</p><p>  (3)

56、 推薦分辨率:1024*768或以上</p><p>  3.4 系統(tǒng)實(shí)現(xiàn)的若干關(guān)鍵技術(shù)</p><p>  3.4.1 jsp與tomcat技術(shù)</p><p><b>  Tomcat簡(jiǎn)介</b></p><p>  Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的

57、Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。因?yàn)門(mén)omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是6.0。Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選[9]。</p><p>

58、;  Tomcat與JSP的結(jié)合</p><p>  在過(guò)去,客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)的設(shè)計(jì)與Web的相關(guān)技術(shù)幾乎處于平行線上,兩者相互獨(dú)立并無(wú)法作出集成性的設(shè)計(jì)?,F(xiàn)在我們利用tomcat+JSP構(gòu)成三層式Web結(jié)構(gòu)的中間一層,將客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)與Web密切結(jié)合,完成前后端兩者的集成輸出功能,使得Web站點(diǎn)的開(kāi)發(fā)更方便,實(shí)現(xiàn)的功能更強(qiáng)大。</p><p>  利用tomcat+JSP技術(shù)來(lái)集成

59、Web前后端所帶來(lái)的強(qiáng)大效益可歸結(jié)為以下幾個(gè)方面:</p><p><b>  減少構(gòu)建和維護(hù)成本</b></p><p><b>  加快聯(lián)機(jī)過(guò)程</b></p><p>  應(yīng)用軟件集中在服務(wù)器端開(kāi)發(fā)管理</p><p>  前端可使用任何瀏覽器(IE、Netscape…..)</p>

60、;<p>  后端可存取任何數(shù)據(jù)庫(kù) (SQL、Access、mysql、Oracle…..)</p><p>  可使用任何腳本語(yǔ)言開(kāi)發(fā) (VBScript、JavaScript、PERL…..)</p><p>  3.4.2 JDBC簡(jiǎn)介</p><p>  JDBC(Java DataBase Connectivity,Java數(shù)據(jù)庫(kù)連接):是

61、一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成[10]。</p><p>  (1) 支持基本的SQL語(yǔ)句,在 Java程序中實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作功能并簡(jiǎn)化操作過(guò)程。</p><p>  (2) 提供多樣化的數(shù)據(jù)庫(kù)連接方法。</p><p>  (3) 為各種不同的數(shù)據(jù)庫(kù)提供統(tǒng)一的操作界面。&

62、lt;/p><p>  用JDBC連接數(shù)據(jù)庫(kù)的步驟</p><p><b>  (1) 注冊(cè)驅(qū)動(dòng)</b></p><p>  Class.forName(“com..mysql.jdbc.Driver”);(注冊(cè)mysql數(shù)據(jù)庫(kù)的驅(qū)動(dòng))</p><p><b>  (2) 建立連接</b></p&

63、gt;<p>  Connection conn=DriverManager.getConnection(url,user,password);</p><p>  (3) 創(chuàng)建執(zhí)行的sql語(yǔ)句</p><p>  Statement st=conn.createStatement();</p><p><b>  (4) 執(zhí)行語(yǔ)句</

64、b></p><p>  ResultSet rs=st.executeQuery(“sql語(yǔ)句”);</p><p><b>  (5) 處理結(jié)果</b></p><p><b>  (6) 釋放資源</b></p><p>  對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō),每一次連接數(shù)據(jù)庫(kù)都要耗費(fèi)大量資源,所以當(dāng)我們用

65、完的時(shí)候要調(diào)用close方法及時(shí)釋放資源[11]。</p><p><b>  4 詳細(xì)設(shè)計(jì)</b></p><p>  4.1 系統(tǒng)登錄模塊模塊簡(jiǎn)介</p><p>  該模塊是本系統(tǒng)的重要模塊,當(dāng)瀏覽器訪問(wèn)該購(gòu)物網(wǎng)站的時(shí)候,用戶(hù)可以通過(guò)登錄模塊來(lái)登錄系統(tǒng)服務(wù)器,可以查看自己的購(gòu)物記錄、發(fā)布商品信息和購(gòu)買(mǎi)商品。如果登錄者沒(méi)有注冊(cè)用戶(hù),那么

66、可以通過(guò)注冊(cè)一個(gè)用戶(hù)來(lái)進(jìn)行上面的操作。管理員需提交用戶(hù)名和密碼,之后進(jìn)入管理頁(yè)面。</p><p>  4.2 模塊體系結(jié)構(gòu)</p><p><b>  4.3 運(yùn)行圖</b></p><p><b>  4.4 設(shè)計(jì)說(shuō)明</b></p><p>  在使用servlet時(shí),要在用戶(hù)web應(yīng)用

67、程序/WEB-INF/web.xml中配置相關(guān)信息。</p><p><b>  <servlet></b></p><p>  <servlet-name>servlet名稱(chēng)</servlet-name></p><p>  <servlet-class>servlet所生成的java類(lèi)文件的存

68、儲(chǔ)地址</servlet-class></p><p>  </servlet></p><p>  <servlet-mapping></p><p>  <servlet-name> servlet名稱(chēng)</servlet-name></p><p>  <url-patte

69、rn>訪問(wèn)servlet的路徑</url-pattern></p><p>  </servlet-mapping></p><p>  4.4.1 新用戶(hù)注冊(cè)子模塊</p><p>  用戶(hù)注冊(cè),首先要檢查的就是用戶(hù)填寫(xiě)的信息,其中包括:</p><p>  電話(huà)號(hào)碼字段是否空白,若空白則不接受。</p

70、><p>  輸入的E-mail格式是否正確,有沒(méi)有@和”.”符號(hào)。</p><p>  兩次輸入的密碼是否一致。</p><p>  這個(gè)模塊的實(shí)現(xiàn)主要是在JavaScript中用document.form來(lái)獲取form中各個(gè)變量的值,然后去判斷各個(gè)值是否符合要求。同時(shí)在form中設(shè)置onsubmit屬性為真時(shí),則注冊(cè),否則注冊(cè)不成功[12]。</p>

71、<p>  <form name="form1" method="post" action="UserRegistryServlet"</p><p>  onsubmit="return checkValue();"></p><p>  在JavaScript中寫(xiě)如下代碼:</p

72、><p>  function checkValue(){</p><p>  var password1=document.form1.pwd1.value.Trim();</p><p>  var password2=document.form1.pwd2.value.Trim();</p><p>  var email=document

73、.form1.email.value.Trim();</p><p>  if(document.form1.user.value.Trim()==""){</p><p>  alert("用戶(hù)名不能為空,請(qǐng)重新輸入");</p><p>  return false;</p><p>  }else

74、 if(document.form1.pwd1.value.Trim()==""){</p><p>  alert("密碼不能為空,請(qǐng)重新輸入");</p><p>  return false;</p><p>  }else if(document.form1.pwd2.value.Trim()==""

75、;){</p><p>  alert("確認(rèn)密碼不能為空,請(qǐng)重新輸入");</p><p>  return false;</p><p>  }else if(document.form1.tel.value.Trim()==""){</p><p>  alert("電話(huà)號(hào)碼不能為空,請(qǐng)

76、重新輸入");</p><p>  return false;</p><p>  }else if(email!=""&& (email.indexOf("@")==-1 || email.indexOf(".")==-1)){</p><p>  alert("郵箱格

77、式錯(cuò)誤,請(qǐng)重新輸入");</p><p>  return false;</p><p>  }else if(password1==password2){</p><p>  return true;</p><p>  }else if(password1!=password2){</p><p>  a

78、lert("您兩次輸入的密碼不同,請(qǐng)重新輸入");</p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  </script></b></p

79、><p>  同時(shí)在servlet中用request.getParameter(“name”)的值,然后通過(guò)JavaBean寫(xiě)入到數(shù)據(jù)庫(kù)中。</p><p>  4.4.2 用戶(hù)登錄子模塊</p><p><b>  1、登錄頁(yè)面流程圖</b></p><p><b>  圖10 用戶(hù)登錄圖</b>&

80、lt;/p><p>  Fig10 The user login dialog</p><p>  2登錄頁(yè)面代碼程序的實(shí)現(xiàn)部分:</p><p>  用戶(hù)在前臺(tái)輸入并提交信息,每一個(gè)提交程序都會(huì)用到Form容器,在這個(gè)容器里含有兩個(gè)輸入對(duì)象,一個(gè)是用戶(hù)名,一個(gè)是用戶(hù)密碼,系統(tǒng)的驗(yàn)證主要依靠這兩個(gè)對(duì)象輸入框來(lái)完成。</p><p>  用戶(hù)在在前

81、臺(tái)輸入信息后,系統(tǒng)在后臺(tái)要進(jìn)行驗(yàn)證,以便用戶(hù)登陸,驗(yàn)證代碼見(jiàn)程序文件UserLoginServlet 和 UserLoginbean</p><p>  這個(gè)程序的主要功能就是接受用戶(hù)輸入的參數(shù),對(duì)用戶(hù)輸入的參數(shù)進(jìn)行判斷,判斷通過(guò)后向數(shù)據(jù)庫(kù)系統(tǒng)提交,返回?cái)?shù)據(jù)庫(kù)查詢(xún)結(jié)果,當(dāng)有相應(yīng)的合法數(shù)據(jù)后,系統(tǒng)將把此用戶(hù)的ID號(hào)和用戶(hù)名賦給系統(tǒng)Session變量,然后系統(tǒng)將直接到達(dá)用戶(hù)頁(yè)面[13]。</p><

82、;p>  4.4.3 商品發(fā)布模塊</p><p><b>  1、商品發(fā)布流程圖</b></p><p><b>  圖11 商品發(fā)布圖</b></p><p>  Fig11 The goods release map</p><p>  2、商品發(fā)布模塊的實(shí)現(xiàn)部分</p>

83、<p>  在提交相應(yīng)的商品信息之后,在servlet中去看session.getAttribute("username")是否為空,如果為空,證明用戶(hù)沒(méi)有登錄,則在JavaScript中填寫(xiě)alert語(yǔ)句,彈出對(duì)話(huà)框,提示沒(méi)有登錄,然后返回到商品發(fā)布頁(yè)面;如果session.getAttribute("username")不為空,則把填寫(xiě)的商品信息通過(guò)JavaBean寫(xiě)入到數(shù)據(jù)庫(kù)表t

84、b_goods中,提示商品發(fā)布成功[16]。</p><p>  if((String)session.getAttribute("username")==null){</p><p><b>  try {</b></p><p>  this.forward(request, response, "/goods

85、release.jsp?message='forward'");</p><p><b>  return;</b></p><p>  } catch (ServletException e) {</p><p>  e.printStackTrace();</p><p>  } catch

86、 (IOException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  goodsbean gb=new goodsbean();</p><p>

87、  gb.goodsInsert(userID,product_type_id,goods_name,goodshownew, price, method, exchangeaddress, number, introduce);</p><p><b>  try {</b></p><p>  PrintWriter out=response.getWriter(

88、);</p><p>  out.print("OK");</p><p>  out.print(goods_name);</p><p>  } catch (IOException e) {</p><p>  e.printStackTrace();</p><p><b>  }

89、</b></p><p>  4.4.4 商品搜索模塊</p><p><b>  1、商品搜索流程圖</b></p><p><b>  圖12 商品搜索圖</b></p><p>  Fig12 The goods research map</p><p>

90、  2、商品搜索的代碼實(shí)現(xiàn)</p><p>  提交相應(yīng)的信息后,servlet首先從用戶(hù)選擇的商品類(lèi)別producttype和商品名稱(chēng)goodsname,然后通過(guò)JavaBean去查詢(xún)商品數(shù)據(jù)庫(kù)tb_goods,查詢(xún)時(shí)用sql語(yǔ)句的模糊查詢(xún)來(lái)進(jìn)行,同時(shí)將查詢(xún)結(jié)果顯示在goodssearchresult.jsp中[17]。</p><p>  在servlet中的代碼:</p>

91、<p>  if(action.equals("search")){</p><p>  Vector vector=new Vector(); //定義一個(gè)向量,用來(lái)存放返回的商品信息類(lèi)</p><p>  String product_type_id=request.getParameter("producttype");//獲取商

92、品類(lèi)別和商品名稱(chēng)的信息</p><p>  String goodsname=request.getParameter("goodsname");</p><p>  goodssearchbean gsb=new goodssearchbean(); //調(diào)用相應(yīng)的JavaBean</p><p>  vector=(Vector)gsb.g

93、etGoodsMessag(product_type_id, //返回相應(yīng)的查詢(xún)結(jié)果goodsname);</p><p>  request.setAttribute("goodssearchresult", vector);</p><p>  this.forward(request, response,"/goodssearch

94、result.jsp"); //將查詢(xún)結(jié)果返回到goodssearchresult頁(yè)面</p><p><b>  }</b></p><p>  在JavaBean中的代碼:</p><p>  public Vector getGoodsMessage(String product_type_id,String goodsname

95、){</p><p>  實(shí)現(xiàn)sql語(yǔ)句的模糊查詢(xún)</p><p>  String sql1="select goods_name,price,state,goods_id from tb_goods where (product_type_id='"+product_type_id+’")and (goods_name like '%&qu

96、ot;+goodsname+"%')";</p><p>  String sql2="select goods_name,price,state,goods_id from tb_goods where goods_name like '%"+goodsname+"%'";</p><p>  Vecto

97、r vector=new Vector();</p><p>  if(product_type_id.equals("所有分類(lèi)")){</p><p><b>  try {</b></p><p>  st=conn.createStatement();</p><p>  rs=st.execu

98、teQuery(sql2);</p><p>  while(rs.next()){</p><p>  goodsinfo gi=new goodsinfo();</p><p>  gi.setgoods_name(rs.getString(1));</p><p>  gi.setprice(rs.getString(2));</

99、p><p>  gi.setstate(rs.getString(3));</p><p>  gi.setgoods_id(rs.getString(4));</p><p>  vector.addElement(gi);</p><p><b>  gi=null;</b></p><p>&l

100、t;b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p>  this.close(rs, st, conn);</p>

101、<p><b>  }</b></p><p><b>  }</b></p><p>  return vector;</p><p><b>  }</b></p><p>  4.4.5 查看商品詳細(xì)信息模塊</p><p>  1、查

102、看商品詳細(xì)信息流程圖</p><p>  圖13 商品詳細(xì)信息圖</p><p>  Fig13 The goods details map</p><p>  2、查看商品詳細(xì)信息代碼實(shí)現(xiàn)部分</p><p>  通過(guò)獲取商品的ID號(hào)goodsID,去查詢(xún)數(shù)據(jù)庫(kù)tb_goods的商品信息信息。</p><p>  在

103、servlet中:</p><p>  public void doPost(HttpServletRequest request,HttpServletResponse response){</p><p><b>  try {</b></p><p>  request.setCharacterEncoding("GB2312&

104、quot;);</p><p>  response.setCharacterEncoding("GB2312");</p><p>  PrintWriter out=response.getWriter();</p><p>  String action=request.getParameter("action");&l

105、t;/p><p>  String goods_id=request.getParameter("goods_id");//獲取商品的ID號(hào)</p><p>  goodsitembean gib=new goodsitembean();//調(diào)用JavaBean</p><p>  goodsinfo gi=new goodsinfo();</

106、p><p>  if(action.equals("productDetail")){</p><p>  gi=gib.getGoodsinfo(goods_id);//返回一個(gè)goodsinfo對(duì)象</p><p>  request.setAttribute("goods_id", goods_id);</p>

107、<p>  request.setAttribute("userName", gi.getuserName());</p><p>  request.setAttribute("mobileTel", gi.getmobileTel());</p><p>  request.setAttribute("goods_name&

108、quot;, gi.getgoods_name());</p><p>  request.setAttribute("goodsshownew", gi.getgoodsshownew());</p><p>  request.setAttribute("price", gi.getprice());</p><p>  

109、request.setAttribute("exchangeaddress", gi.getexchangeaddress());</p><p>  request.setAttribute("method", gi.getmethod());</p><p>  request.setAttribute("number", g

110、i.getnumber());</p><p>  request.setAttribute("introduce", gi.getintroduce());</p><p>  this.forward(request, response,"/goodsitem.jsp");//跳轉(zhuǎn)到goodsitem.jsp頁(yè)面</p><p

111、><b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p&g

112、t;  在javabean中的代碼實(shí)現(xiàn):</p><p>  public goodsinfo getGoodsinfo(String goods_id){</p><p>  String sql="select tb_member.userName,tb_member.mobileTel, tb_goods.* from tb_member,tb_goods where go

113、ods_id='"+goods_id+"'AND tb_goods.userID=tb_member.userID";</p><p>  goodsinfo gi=new goodsinfo();</p><p><b>  try {</b></p><p>  st=conn.createSt

114、atement();</p><p>  rs=st.executeQuery(sql);</p><p>  while(rs.next()){</p><p>  gi.setuserName(rs.getString(1));</p><p>  gi.setmobileTel(rs.getString(2));</p>

115、<p>  gi.setgoods_name(rs.getString(6));</p><p>  gi.setintroduce(rs.getString(7));</p><p>  gi.setprice(rs.getString(8));</p><p>  gi.setexchangeaddress(rs.getString(9));</

116、p><p>  gi.setnumber(rs.getString(10));</p><p>  gi.setmethod(rs.getString(11));</p><p>  gi.setgoodsshownew(rs.getString(13));</p><p><b>  }</b></p>&l

117、t;p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>  } finally{</p><p>  this.close(rs, st, conn);</p><p><b>  }</b></p><p>

118、  return gi;</p><p><b>  }</b></p><p>  4.4.6 管理員管理模塊</p><p><b>  1、流程圖</b></p><p>  圖14 管理員管理圖</p><p>  Fig14 Administrator manag

119、e map</p><p><b>  2、代碼實(shí)現(xiàn)部分</b></p><p>  在servlet中通過(guò)action變量的屬性值String action=request.getParameter("action");來(lái)判斷要進(jìn)行什么操作,然后根據(jù)操作來(lái)調(diào)用JavaBean中相應(yīng)的方法[18]。</p><p>  在s

120、ervlet中的代碼實(shí)現(xiàn)[19]:</p><p>  if(action.equals("check")){</p><p>  Userinfobean ufb=new Userinfobean();</p><p>  Vector v=new Vector();</p><p>  v=ufb.getAlluser

121、();</p><p>  request.setAttribute("alluser", v);</p><p><b>  try {</b></p><p>  this.forward(request, response, "/alluser.jsp");</p><p>

122、  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  } </b></p><p><b>  }</b></p><p>  if(action.equals("delete")){<

123、/p><p>  Userinfobean ufb=new Userinfobean();</p><p>  ufb.deleteuser(userID);</p><p>  Vector v=new Vector();</p><p>  v=ufb.getAlluser();</p><p>  request.s

溫馨提示

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

評(píng)論

0/150

提交評(píng)論