




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于j2ee的網(wǎng)上圖書(shū)銷售系統(tǒng) 摘 要本文所要介紹的網(wǎng)上圖書(shū)銷售系統(tǒng)是當(dāng)前流行的網(wǎng)上商店的一種形式,它也是電子商務(wù)的一個(gè)縮影。當(dāng)前的網(wǎng)上圖書(shū)銷售系統(tǒng)不少,但是采用j2ee架構(gòu)開(kāi)發(fā)的還是寥若晨星。通過(guò)該系統(tǒng)的開(kāi)發(fā)研究,不僅可以學(xué)到如何使用j2ee架構(gòu)來(lái)開(kāi)發(fā)一個(gè)比較完善的網(wǎng)上圖書(shū)銷售系統(tǒng),還可以由此擴(kuò)展思路,開(kāi)發(fā)出其它形式的服務(wù)于電子商務(wù)的應(yīng)用系統(tǒng)。本網(wǎng)站采用java語(yǔ)言開(kāi)發(fā),后臺(tái)數(shù)據(jù)庫(kù)是與java無(wú)縫連接、操作簡(jiǎn)單、易于使用的mysql,主要采用struts框架技術(shù),實(shí)現(xiàn)了一個(gè)基于web的b/s模式的網(wǎng)上圖書(shū)銷售系統(tǒng)。其主要功能包括對(duì)外溝通展示功能、信息發(fā)布功能
2、、在線圖書(shū)展示功能、到在線洽談功能、在線交易功能、在線采購(gòu)功能、在線客戶服務(wù)功能以及強(qiáng)大的系統(tǒng)管理員的功能等等。本文闡述了在線購(gòu)買圖書(shū)方式的優(yōu)勢(shì),并對(duì)所做網(wǎng)站的分析、設(shè)計(jì)及實(shí)現(xiàn)過(guò)程做了詳細(xì)介紹。 關(guān)鍵詞:網(wǎng)上圖書(shū)銷售系統(tǒng) 電子商務(wù) 建模 abstract in this paper, the online book sales system introduced is a f
3、orm of the popular online store, it is also a microcosm of e-commerce. the current number of online book sales system is not a few, however, the adoption of a framework for the development of j2ee is rare as morning stars. the system developed by the research, not only can learn how to u
4、se the j2ee architecture to develop a complete online book sales system, can also extend this idea to develop other forms of e-commerce services in the application system.my system is implemented by java, using struts in normal processing of software development and in b/s mode of web in design and
5、development of system and background database that has seamless connectivity with java, is simple and easy-to-used is mysql. its main functions include display of external communication functions, information publishing, online book display functions, to negotiate online features, online trading fea
6、tures, online procurement functions, online customer service functions and a strong system administrator functions, and so on. this thesis introduces advantages of shopping on internet and presents a further introduction to analysis, design and process of the web.
7、 keywords:online book sales system electronic commerce molding目 錄第一章 緒論. 11.1 課題來(lái)源. 11.2 國(guó)內(nèi)現(xiàn)狀. 11.3 研究意義. 1第二章 技術(shù)介紹. 32.1 java開(kāi)發(fā)語(yǔ)言的選擇. 32.2 mvc設(shè)計(jì)模式. 42.3 struts技術(shù). 62.4 jsp技術(shù). 72.5 tomcat容器. 82.6 struts對(duì)國(guó)際化的支持. 92.7 sql語(yǔ)言. 92.8 開(kāi)發(fā)環(huán)境. 9第三章 需求
8、分析. 103.1簡(jiǎn)介. 103.1.1 目的. 103.1.2范圍. 103.1.3定義、首字母縮寫和縮寫語(yǔ). 103.1.4參考文獻(xiàn). 103.2 整體說(shuō)明. 103.2.1 圖書(shū)瀏覽模塊. 103.2.2 圖書(shū)管理模塊. 103.2.3 購(gòu)物車模塊. 103.2.4 訂單管理模塊. 103.2.5 留言信息模塊. 103.2.6 顧客留言信息管理模塊. 113.2.7 圖書(shū)類別信息管理模塊. 113.2.8 推薦圖書(shū)信息顯示模塊. 113.2.9 顧客的注冊(cè)、登錄模塊. 113.2.10 后臺(tái)信息管理的登錄模塊. 113.2.11 用戶管理模塊. 113.2.12 公告內(nèi)容顯示模塊. 1
9、13.2.13 公告管理模塊. 113.2.14 圖書(shū)評(píng)論和回應(yīng)模塊. 113.2.15 圖書(shū)評(píng)論和回應(yīng)管理模塊. 113.2.16 網(wǎng)上調(diào)查模塊. 113.2.17 新書(shū)上架顯示模塊. 123.2.18 圖書(shū)銷售排行顯示模塊. 123.2.19 分類瀏覽圖書(shū)模塊. 123.2.20 網(wǎng)上調(diào)查管理模塊. 123.3 具體需求. 123.3.1 功能. 123.3.2 可用性. 123.3.3 可靠性. 123.3.4 性能. 123.3.5 可支持性. 133.3.6 設(shè)計(jì)約束. 133.3.7 聯(lián)機(jī)用戶文檔和
10、幫助系統(tǒng)需求. 133.3.8 購(gòu)買的構(gòu)件. 133.3.9 接口. 13第四章 數(shù)據(jù)庫(kù)設(shè)計(jì). 144.1 數(shù)據(jù)庫(kù)的概念. 144.2 數(shù)據(jù)庫(kù)的三層結(jié)構(gòu). 144.3 數(shù)據(jù)庫(kù)的選擇. 154.4 數(shù)據(jù)庫(kù)表的描述. 154.3.1 用戶信息表(tb_member) 174.3.2 圖書(shū)信息表(tb_bookinfo) 174.3.3 訂單信息表(tb_order) 184.3.4 訂單信息明細(xì)表(tb_order_detail) 184.3.5 管理員表(admin) 184.3.6 公告信息表(tb_bbs) 194.3.7 折扣信息表(tb_rebate) 194.3
11、.8 投票信息表(tb_poll) 204.3.9 圖書(shū)類別表(booktype) 204.3.10留言信息表(mess) 204.3.11 評(píng)論表(remark) 214.3.12 回應(yīng)信息表(remark) 21第五章 基于uml的系統(tǒng)建模. 225.1 uml概述及系統(tǒng)分析步驟. 225.1.1 uml概述. 225.1.2 基于uml面向?qū)ο蟮南到y(tǒng)分析步驟. 245.2顧客用例圖. 255.3管理員用例圖. 255.4圖書(shū)瀏覽模塊的活動(dòng)圖. 265.5圖書(shū)管理模塊的活動(dòng)圖. 265.6購(gòu)物車模塊的活動(dòng)圖. 275.7訂單管理模塊的活動(dòng)圖. 285.8留言信息管理模塊的活動(dòng)圖. 285.
12、9顧客留言信息模塊的活動(dòng)圖. 295.10圖書(shū)銷售排行顯示模塊. 295.11顧客的注冊(cè)、登錄模塊的活動(dòng)圖. 295.12用戶管理模塊的活動(dòng)圖. 305.13公告瀏覽模塊的活動(dòng)圖. 315.14公告信息管理模塊的活動(dòng)圖. 315.15網(wǎng)上調(diào)查管理模塊的活動(dòng)圖. 325.16新上架圖書(shū)顯示模塊的活動(dòng)圖. 325.17圖書(shū)評(píng)論和回應(yīng)模塊的活動(dòng)圖. 335.18圖書(shū)評(píng)論和回應(yīng)管理模塊的活動(dòng)圖. 335.19系統(tǒng)流程圖. 34第六章 系統(tǒng)實(shí)現(xiàn). 366.1網(wǎng)站總體架構(gòu)及實(shí)現(xiàn). 366.1.1系統(tǒng)總體結(jié)構(gòu)圖. 366.1.2 用戶首頁(yè)界面風(fēng)格. 376.2 圖書(shū)信息查詢. 376.2.1 功能描述. 3
13、76.2.2 模塊流程圖. 386.2.3 界面風(fēng)格. 386.2.4 實(shí)現(xiàn)算法. 396.3 添加圖書(shū)到購(gòu)物車. 396.3.1 功能描述. 396.3.2 模塊流程圖. 406.3.3 界面風(fēng)格. 406.3.4 實(shí)現(xiàn)算法. 416.4 查看購(gòu)物車. 426.4.1 描述. 426.4.2 模塊流程圖. 426.4.3 界面風(fēng)格. 426.4.4 實(shí)現(xiàn)算法. 426.5 訂單生成. 456.5.1 描述. 456.5.2 模塊流程圖. 456.5.3 界面風(fēng)格. 456.5.4 實(shí)現(xiàn)算法. 456.6 圖書(shū)評(píng)論. 486.6.1 描述. 486.6.2 模塊流程圖. 486.6.3 界面風(fēng)
14、格. 496.6.4 實(shí)現(xiàn)算法. 506.7 數(shù)據(jù)庫(kù)相關(guān)操作. 506.7.1 描述. 506.7.2 算法實(shí)現(xiàn). 506.8 其他功能. 526.8.1 顧客注冊(cè). 526.8.2 顧客信息維護(hù). 536.8.3 發(fā)表回應(yīng)信息. 536.8.4 管理員主界面. 54第七章 結(jié)論. 557.1 總結(jié). 557.2 體會(huì). 55致 謝 56參考文獻(xiàn) 57 1 前 言 1.1 課題來(lái)源網(wǎng)上圖書(shū)銷售系統(tǒng)是一種新興的圖書(shū)銷售平臺(tái)。隨著全球經(jīng)濟(jì)一體化的
15、逐步發(fā)展和深入,再加上計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,傳統(tǒng)書(shū)店因企業(yè)成本高、規(guī)模小,品種少已經(jīng)阻礙了圖書(shū)市場(chǎng)的發(fā)展,網(wǎng)上圖書(shū)銷售系統(tǒng)的應(yīng)運(yùn)而生,它有著其他形式的書(shū)店所不能比擬的優(yōu)勢(shì):不受時(shí)空的限制,一天24小時(shí)的營(yíng)業(yè)時(shí)間。全世界范圍內(nèi)都可以銷售;它不需要店鋪和龐大的銷售網(wǎng)絡(luò),通過(guò)在網(wǎng)上直接訂購(gòu)、支付、結(jié)算,減少了中間的環(huán)節(jié)和開(kāi)支,它以成本低,圖書(shū)數(shù)量多、品種齊全而備受消費(fèi)者的青睞。因此,在網(wǎng)上購(gòu)買圖書(shū)已成為購(gòu)買圖書(shū)的主要手段。為了滿足廣大顧客的需要,所以推出了網(wǎng)上圖書(shū)的解決方案。1.2 國(guó)內(nèi)現(xiàn)狀無(wú)論是出于仿效,還是迫于競(jìng)爭(zhēng),一些老牌的圖書(shū)銷售商也加入網(wǎng)上書(shū)店的行列,如龐諾書(shū)店(b),疆界書(shū)店(b)
16、等。至少在1997年,國(guó)外網(wǎng)上書(shū)店達(dá)兩百家以上。而在國(guó)內(nèi),自杭州新華書(shū)店創(chuàng)辦第一家網(wǎng)上書(shū)店后,網(wǎng)上書(shū)店如雨后春筍般涌現(xiàn)出來(lái)。其中最為有名的莫過(guò)于 1999年1月1日開(kāi)通的上海書(shū)城網(wǎng)上書(shū)店和3月9日正式營(yíng)業(yè)的北京圖書(shū)大廈網(wǎng)上書(shū)店?,F(xiàn)在,國(guó)內(nèi)網(wǎng)上書(shū)店數(shù)量數(shù)不勝數(shù),因此我們很容易能看出國(guó)內(nèi)網(wǎng)上書(shū)店競(jìng)爭(zhēng)的激烈性。同亞馬遜相比,國(guó)內(nèi)網(wǎng)上書(shū)店的交易流程繁瑣、缺乏規(guī)范、可靠性低??梢灾苯釉诰W(wǎng)上下定單,也可以直接郵購(gòu)。支付方式主要有信用卡網(wǎng)上支付、人民幣儲(chǔ)蓄賬戶網(wǎng)上支付,電匯,郵匯等。圖書(shū)配送方式主要有郵寄,ems,甚至ups,送上門(本地),異地網(wǎng)點(diǎn)配送等,配送時(shí)間也沒(méi)有統(tǒng)一的要求??偟膩?lái)看,國(guó)內(nèi)的網(wǎng)上售書(shū)
17、缺乏規(guī)范,隨意性強(qiáng),買賣雙方的權(quán)益保障都有缺陷。1.3 研究意義圖書(shū)銷售系統(tǒng)在國(guó)際互聯(lián)網(wǎng)上可以實(shí)現(xiàn)的商務(wù)功能已經(jīng)多樣化,從基本的對(duì)外溝通展示功能、信息發(fā)布功能、在線圖書(shū)展示功能、到在線洽談功能、在線交易功能、在線采購(gòu)功能、在線客戶服務(wù)功能、在線網(wǎng)站管理功能等等,幾乎以往傳統(tǒng)商店功能都可以在互聯(lián)網(wǎng)上進(jìn)行電子化的高效運(yùn)作。同傳統(tǒng)的書(shū)店相比,網(wǎng)上圖書(shū)商店具有如下三點(diǎn)優(yōu)勢(shì):1) 企業(yè)上網(wǎng)不僅給消費(fèi)者和企業(yè)提供了更多的選擇消費(fèi)與開(kāi)拓銷售市場(chǎng)的機(jī)會(huì),而且也是提供了更加密切的信息交流場(chǎng)所,從而提高了企業(yè)把握市場(chǎng)和消費(fèi)者了解市場(chǎng)的能力。同時(shí)企業(yè)上網(wǎng)擴(kuò)
18、大了企業(yè)的競(jìng)爭(zhēng)領(lǐng)域,使企業(yè)從常規(guī)的廣告競(jìng)爭(zhēng)、促銷手段等領(lǐng)域的競(jìng)爭(zhēng)擴(kuò)大到無(wú)形的虛擬競(jìng)爭(zhēng)空間。2) 網(wǎng)上書(shū)店改變了企業(yè)競(jìng)爭(zhēng)的交易成本。網(wǎng)上書(shū)店具有投入成本低、批發(fā)數(shù)量大及用戶多的優(yōu)勢(shì)。電子商務(wù)也使企業(yè)規(guī)模影響競(jìng)爭(zhēng)力的基礎(chǔ)發(fā)生了改變。例如在傳統(tǒng)的銷售渠道中,大書(shū)商與小書(shū)商之間的競(jìng)爭(zhēng)差別很大。電子商務(wù)使大書(shū)商與小書(shū)商之間規(guī)模差距的競(jìng)爭(zhēng)變得幾乎微不足道。美國(guó)西雅圖亞馬遜公司在網(wǎng)上開(kāi)辦了一家大型書(shū)店,提供250萬(wàn)冊(cè)圖書(shū)供在線購(gòu)買。只有兩個(gè)人管理的網(wǎng)上書(shū)店提供的書(shū)目和服務(wù),幾乎可以與200人管理的傳統(tǒng)書(shū)店提供的書(shū)目和服務(wù)一樣。3)
19、60; 網(wǎng)上書(shū)店的經(jīng)驗(yàn)表明,如果網(wǎng)上書(shū)店可以為顧客提供品種齊全的圖書(shū)、折扣以及靈活的條件、可靠的安全性和友好的界面,在線購(gòu)物者一般都愿意在網(wǎng)上進(jìn)行圖書(shū)交易。展望未來(lái),網(wǎng)上圖書(shū)超市勢(shì)必成為社會(huì)發(fā)展不可缺少的一部分,而其自身的發(fā)展趨勢(shì)也必然更專業(yè)化、高質(zhì)量化。那么就要求我們提供的不僅僅是簡(jiǎn)單的在線查詢、購(gòu)買這么一個(gè)功能,而是要做到以客戶的需求、愛(ài)好等各方面因素來(lái)改進(jìn)我們的服務(wù),使之更加專業(yè),更有特色。
20、0; 2 技術(shù)介紹 2.1 java開(kāi)發(fā)語(yǔ)言的選擇現(xiàn)在,市場(chǎng)上可以選購(gòu)的應(yīng)用開(kāi)發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國(guó)市場(chǎng)上最為流行,使用最多,最為先進(jìn)的可用作企業(yè)級(jí)開(kāi)發(fā)語(yǔ)言的產(chǎn)品有:sun公司的javamicrosoft公司的visual basicmicrosoft公司的visual cborland公司的delphipowersoft公司的powerbulider在目前市場(chǎng)上這些眾多的程序開(kāi)發(fā)工具中,有些強(qiáng)調(diào)語(yǔ)言的彈性與執(zhí)行效率;有些偏重于可視化程序開(kāi)發(fā)工具所帶
21、來(lái)的便利性與效率的提高,各有各的優(yōu)點(diǎn)和特色,也滿足了不同用戶的不同需求。我的網(wǎng)站選擇java語(yǔ)言開(kāi)發(fā),其原因基于以下幾點(diǎn):java是一種簡(jiǎn)單的、面向?qū)ο蟮?、分布式的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動(dòng)態(tài)的語(yǔ)言。 一、簡(jiǎn)單 java的風(fēng)格類似于c+,并且摒棄了c+中容易引發(fā)程序錯(cuò)誤的地方,如指針和內(nèi)存管理。 此外java提供了豐富的類庫(kù)。 二、面向?qū)ο?面向?qū)ο罂梢哉f(shuō)是java最重要的特性。java語(yǔ)言的設(shè)計(jì)完全是面向?qū)ο蟮摹ava支持靜態(tài)和動(dòng)態(tài)風(fēng)格的代碼繼承及重用。 三、分布式 java包括一個(gè)支持http和ftp等基于tcp/ip協(xié)議的子庫(kù)。因此,java應(yīng)用
22、程序可憑借url打開(kāi)并訪問(wèn)網(wǎng)絡(luò)上的對(duì)象,其訪問(wèn)方式與訪問(wèn)本地文件系統(tǒng)幾乎完全相同。四、健壯 java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。java自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。java提供null指針檢測(cè)數(shù)組邊界、檢測(cè)異常出口、字節(jié)代碼校驗(yàn)。 五、安全 java的安全性可從兩個(gè)方面得到保證。一方面,在java語(yǔ)言里,像指針和釋放內(nèi)存等c+功能被刪除,避免了非法內(nèi)存操作。另一方面,當(dāng)java用來(lái)創(chuàng)建瀏覽器時(shí),語(yǔ)言功能和瀏覽器本身提供的功能結(jié)合起來(lái),使它更安全。六、結(jié)構(gòu)中立 為了建立java作為網(wǎng)絡(luò)的一個(gè)整體,java將它的程序編譯成一種結(jié)構(gòu)中立的中間文件格式。只要有java運(yùn)行系統(tǒng)的機(jī)器都能
23、執(zhí)行這種中間代碼。java源程序被編譯成一種高層次的與機(jī)器無(wú)關(guān)的byte-code格式語(yǔ)言,這種語(yǔ)言被設(shè)計(jì)在虛擬機(jī)上運(yùn)行,由機(jī)器相關(guān)的運(yùn)行調(diào)試器實(shí)現(xiàn)執(zhí)行。 七、可移植的 java的可移植性一直是java程序設(shè)計(jì)師們的精神指標(biāo),也是java之所以能夠受到程序設(shè)計(jì)師們喜愛(ài)的原因之一,最大的功臣就是jvm的技術(shù)。java編譯器產(chǎn)生的目標(biāo)代碼(j-code) 是針對(duì)一種并不存在的cpu-java虛擬機(jī)(java virtual machine),而不是某一實(shí)際的cpu。java虛擬機(jī)能掩蓋不同cpu之間的差別,使j-code能運(yùn)行于任何具有java虛擬機(jī)的機(jī)器上。 八、高性能 java可以在運(yùn)行時(shí)直接
24、將目標(biāo)代碼翻譯成機(jī)器指令。sun用直接解釋器一秒鐘內(nèi)可調(diào)用300,000個(gè)過(guò)程。翻譯目標(biāo)代碼的速度與c/c+的性能沒(méi)什么區(qū)別。 九、多線程 java支持多線程,多線程功能使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)小任務(wù)。線程,有時(shí)也稱小進(jìn)程,是一個(gè)大進(jìn)程里分出來(lái)的小的獨(dú)立的進(jìn)程。十、動(dòng)態(tài) java的動(dòng)態(tài)特性是其面向?qū)ο笤O(shè)計(jì)方法的發(fā)展。它允許程序動(dòng)態(tài)地裝入運(yùn)行過(guò)程中所需要的類,這是c+語(yǔ)言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)所無(wú)法實(shí)現(xiàn)的。java編譯器不是將對(duì)實(shí)例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號(hào)引用信息在字節(jié)碼中保存下傳遞給解釋器,再由解釋器在完成動(dòng)態(tài)連接類后,將符號(hào)引用信息轉(zhuǎn)換為數(shù)值偏移量。2.2 mvc設(shè)
25、計(jì)模式mvc(model-view-controller的簡(jiǎn)稱)是xeroxp arc在20世紀(jì) 80年代為編程語(yǔ)言smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用,目前是j2ee應(yīng)所最常見(jiàn)的體系結(jié)構(gòu),它是一種設(shè)計(jì)模式,它把應(yīng)用程序分成三個(gè)核心模塊:模型、視圖、控制器,它們各自處理自己的任務(wù)。視圖是用戶看到并與之交互的界面,也即應(yīng)用程序的外觀。作用包括接收用戶的輸入,它并不包括任何實(shí)際的業(yè)務(wù)邏輯,它只是將數(shù)據(jù)轉(zhuǎn)發(fā)給控制器。同時(shí),視圖還負(fù)責(zé)展現(xiàn)模型傳遞給用戶的數(shù)據(jù),當(dāng)后臺(tái)模型更新數(shù)據(jù)時(shí),視圖也應(yīng)當(dāng)隨之更新它的顯示。模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,是應(yīng)用程序的主體部分。一個(gè)模型能為多個(gè)
26、視圖提供數(shù)據(jù),因此提高了代碼的可重用性??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。當(dāng)web用戶單擊web頁(yè)面中的遞交按鈕來(lái)發(fā)送html表單時(shí),控制器本身不輸出任何東西和做任何處理??刂破鹘邮照?qǐng)求并決定調(diào)用哪個(gè)模型組件去處理請(qǐng)求,然后決定調(diào)用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。mvc的優(yōu)點(diǎn)表現(xiàn)在如下幾個(gè)方面:1) 首先,最重要的一點(diǎn)是多個(gè)視圖能共享一個(gè)模型。同一個(gè)模型可以被不同的視圖重用,大大提高了代碼的可重用性。2) 由于mvc的三個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影
27、響其他兩個(gè),所以依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的松偶合的構(gòu)件。3) 此外,控制器提高了應(yīng)用程序的靈活性和可配置性。控制器可以用來(lái)聯(lián)接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。mvc的缺點(diǎn)表現(xiàn)如下:在于它沒(méi)有明確的定義,所以一個(gè)開(kāi)發(fā)人員完全理解mvc并不是很容易。使用mvc也需要精心的計(jì)劃,由于它的內(nèi)部原理比較復(fù)雜,所以開(kāi)發(fā)者需要花費(fèi)相當(dāng)可觀的時(shí)間去考慮如何將mvc運(yùn)用到應(yīng)用程序之中。同時(shí)由于模型和視圖要嚴(yán)格的分離,這樣也給調(diào)試應(yīng)用程序帶來(lái)了一定的困難。每個(gè)構(gòu)件在使用之前都需要經(jīng)過(guò)徹底的測(cè)試。一旦構(gòu)件經(jīng)
28、過(guò)了測(cè)試,就可以毫無(wú)顧忌的重用它們了。還有開(kāi)發(fā)mvc系統(tǒng)比簡(jiǎn)單的jsp開(kāi)發(fā)要復(fù)雜許多,它需要更多的時(shí)間學(xué)習(xí)和掌握。同時(shí)新東西的引入會(huì)帶來(lái)新的問(wèn)題,在選擇mvc開(kāi)發(fā)模式時(shí)必須仔細(xì)考慮這下問(wèn)題:1) 必須基于mvc組件的方式重新思考和設(shè)計(jì)應(yīng)用結(jié)構(gòu)。原來(lái)通過(guò)建立一個(gè)簡(jiǎn)單的jsp頁(yè)面就能實(shí)現(xiàn)的應(yīng)用現(xiàn)在變成了多個(gè)步驟的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程。2) 所有的頁(yè)面和組件必須在mvc框架中實(shí)現(xiàn),所以必須進(jìn)行附加地開(kāi)發(fā)工作。mvc本身就是一個(gè)非常復(fù)雜的系統(tǒng),所以采用mvc實(shí)現(xiàn)web應(yīng)用時(shí),最好選一個(gè)現(xiàn)成
29、的mvc框架,在此之下進(jìn)行開(kāi)發(fā),從而取得事半功倍的效果。mvc處理過(guò)程的結(jié)構(gòu)圖,見(jiàn)圖21。圖21 2.3 struts技術(shù)struts 是目前java web mvc框架中不爭(zhēng)的王者。struts由一組相互協(xié)作的類(組件)、serlvet以及jsp tag lib組成。由于struts 實(shí)質(zhì)上就是在jsp model2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)mvc框架,所以基于struts構(gòu)架的web應(yīng)用程序基本上符合jsp model2即mvc的設(shè)計(jì)標(biāo)準(zhǔn)。其中的模型是javabean,控制器是actionservlet、action,視圖是jsp、str
30、uts客戶化標(biāo)簽。struts 控制器組件主要包括:充當(dāng)struts框架的中央控制器的actionservlet組件、充當(dāng)每個(gè)子應(yīng)用模塊的請(qǐng)求處理器的requestprocessor組件、負(fù)責(zé)處理一項(xiàng)具體的業(yè)務(wù)的action組件。其工作流程如圖22圖22 struts 的另一特點(diǎn)是使用actionform bean,actionform bean也是一種javabean,除了具有一些javabean的常規(guī)方法,還包含一些特殊的方法,用于驗(yàn)證html表單數(shù)據(jù)以及將其屬性重新設(shè)置為默認(rèn)值。struts框架利用actionform bean來(lái)進(jìn)行view組件和controller
31、組件之間表單數(shù)據(jù)的傳遞。jsp文件使用struts標(biāo)簽讀取修改后的actionform bean的信息,重新設(shè)置html表單。struts標(biāo)簽庫(kù)是struts架構(gòu)的很大一部分,它簡(jiǎn)化了視圖組件的發(fā)展并將試圖與架構(gòu)的其余部分綁定在一起。struts提供了五種功能強(qiáng)大的標(biāo)簽庫(kù),包括bean標(biāo)簽庫(kù)、html標(biāo)簽庫(kù)、logic標(biāo)簽庫(kù)、nested標(biāo)簽庫(kù)和tiles標(biāo)簽庫(kù)。熟練使用這些標(biāo)簽庫(kù),可以簡(jiǎn)化開(kāi)發(fā)交互式的、基于表單的web應(yīng)用的過(guò)程。struts配置文件:在基于struts框架的web應(yīng)用中,有兩個(gè)重要的配置文件:web.xml和struts-config.xml。下面分別詳細(xì)介紹web.xml
32、和struts-config.xml:1) wel.xmlweb.xml是java servlet規(guī)范所必需的web應(yīng)用程序配置描述。servlet/jsp容器使用這個(gè)文件來(lái)裝載、配置應(yīng)用程序,它用來(lái)通知servlet容器如何配置servlets和其他應(yīng)用程序需要的高級(jí)對(duì)象。struts-config.xmlstruts-config.xml是struts中核心文件。該文件配置各種組件,包括數(shù)據(jù)源datasource、表單類formbean、全局異常globalexceptions、全局轉(zhuǎn)發(fā)globalforward、行為映射acio
33、nmappings、控制器controller、消息資源messageresource及插件plugins。2.4 jsp技術(shù)jsp技術(shù)是用java語(yǔ)言作為腳本語(yǔ)言的,jsp網(wǎng)頁(yè)為整個(gè)服務(wù)器端的java庫(kù)單元提供了一個(gè)接口來(lái)服務(wù)于http的應(yīng)用程序。jsp(javaserver pages)是由sun microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。 在傳統(tǒng)的網(wǎng)頁(yè)html文件(*.htm,*.html)中加入java程序片段(scriptlet)和jsp標(biāo)記(tag),就構(gòu)成了jsp網(wǎng)頁(yè)(*.jsp)。web服務(wù)器在遇到訪問(wèn)jsp網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片
34、段,然后將執(zhí)行結(jié)果以html格式返回給客戶。程序片段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送 email 等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無(wú)plugin,無(wú)activex,無(wú)java applet,甚至無(wú)frame。jsp技術(shù)能讓web開(kāi)發(fā)員和網(wǎng)頁(yè)設(shè)計(jì)員快速地開(kāi)發(fā)容易維護(hù)的動(dòng)態(tài)web主頁(yè)。用jsp開(kāi)發(fā)的web應(yīng)用是跨平臺(tái)的,即能在linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。 jsp技術(shù)使用java編程語(yǔ)言編寫類xml的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)ta
35、gs和scriptlets訪問(wèn)存在于服務(wù)端的資源(例如javabesns)的應(yīng)用邏輯。jsp將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。 jsp技術(shù)是servlet技術(shù)的擴(kuò)展。servlet是平臺(tái)無(wú)關(guān)的,100%純java的java服務(wù)端組件。2.5 tomcat容器tomcat是一個(gè)免費(fèi)的開(kāi)源的serlvet容器,它是apache基金會(huì)的jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由apache,sun和其它一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了sun的參與和支持,最新的servlet和jsp規(guī)范總能在tomcat中得到體現(xiàn)。tomcat被j
36、avaworld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見(jiàn)其在業(yè)界的地位。tomcat4.0x中采用了新的servlet容器:catalina,完整的實(shí)現(xiàn)了servlet2.3和jsp1.2規(guī)范。由于java的跨平臺(tái)特性,基于java的tomcat也具有跨平臺(tái)性。與傳統(tǒng)的桌面應(yīng)用程序不同,tomcat中的應(yīng)用程序是一個(gè)war(web archive)文件。war是sun提出的一種web應(yīng)用程序格式,與jar類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來(lái)組織:通常其根目錄下包含有html和jsp文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)web-inf目錄,這個(gè)目錄很
37、重要。通常在web-inf目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的servlet類和jsp或servlet所依賴的其它類(如javabean)。通常這些所依賴的類也可以打包成jar放到web-inf下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的classpath中,但那樣移植和管理起來(lái)不方便。在tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的war放到tomcat的webapp目錄下,tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問(wèn)這個(gè)應(yīng)用的jsp時(shí),通常第一次會(huì)很慢,因?yàn)閠omcat要將jsp轉(zhuǎn)化
38、為servlet文件,然后編譯。編譯以后,訪問(wèn)將會(huì)很快。tomcat不僅僅是一個(gè)servlet容器,它也具有傳統(tǒng)的web服務(wù)器的功能:處理html頁(yè)面。但是與apache相比,它的處理靜態(tài)html的能力就不如apache.我們可以將tomcat和apache集成到一塊,讓apache處理靜態(tài)html,而tomcat處理jsp和servlet.這種集成只需要修改一下apache和tomcat的配置文件即可。2.6 struts對(duì)國(guó)際化的支持“國(guó)際化”是指一個(gè)應(yīng)用程序在運(yùn)行時(shí)能夠根據(jù)客戶端請(qǐng)求所來(lái)自的國(guó)家/地區(qū)、語(yǔ)言的不同而顯示不同的用戶界面。例如,請(qǐng)求來(lái)自于一臺(tái)中文操作系統(tǒng)的客戶端計(jì)算機(jī),則應(yīng)用
39、程序響應(yīng)界面中的各種標(biāo)簽、錯(cuò)誤和幫助信息均使用中文文字;如果客戶端計(jì)算機(jī)采用的是英文操作系統(tǒng),則應(yīng)用程序也應(yīng)能識(shí)別并自動(dòng)以英文界面做出響應(yīng)。可以看出,引入國(guó)際化機(jī)制的目的在于提供自適應(yīng)、更友好的用戶界面,而并未改變程序的其他功能/業(yè)務(wù)邏輯。人們常用i18n這個(gè)詞作為“國(guó)際化”的簡(jiǎn)稱,其來(lái)源是英文internationaliztion的首末字母i和n及它們之間的字符數(shù)18。struts框架通過(guò)使用<bean:message>標(biāo)記,以及使用java.util數(shù)據(jù)包中定義的locale和resourcebundle類來(lái)支持國(guó)際化。java.text.messageformat類定義的技術(shù)
40、可以支持消息的格式。利用此功能,開(kāi)發(fā)人員不需了解這些類的細(xì)節(jié)就可進(jìn)行國(guó)際化和設(shè)置消息的格式。2.7 sql語(yǔ)言sql(structure query language結(jié)構(gòu)化查詢語(yǔ)言)自1974年被提出,至今已經(jīng)是世界上最流行的關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。sql語(yǔ)言的分類一、ddl(data definition language)數(shù)據(jù)定義語(yǔ)言,其作用包括創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象、刪除數(shù)據(jù)庫(kù)對(duì)象、修改數(shù)據(jù)庫(kù)對(duì)象(create、drop、alter)。二、dml(data manipulation language)數(shù)據(jù)操縱語(yǔ)言,其作用包括查找數(shù)據(jù)信息、插入數(shù)據(jù)信息、刪除數(shù)據(jù)信息、更改數(shù)據(jù)信息(select、 i
41、nsert、 delete、 update)。三、dcl(data control language)數(shù)據(jù)控制語(yǔ)言,作用主要對(duì)是授權(quán)數(shù)據(jù)庫(kù)對(duì)象(grant, revoke)。2.8 開(kāi)發(fā)環(huán)境操作系統(tǒng):windows xp;運(yùn)行工具:ie 6.0開(kāi)發(fā)工具:myeclipse 5.1.0 ga, dreamweaver v8.0數(shù)據(jù)庫(kù):mysql 5.12服務(wù)器: tomcat 6.0輔助工具:adobe photoshop cs 3 需求分析 3.1 簡(jiǎn)介網(wǎng)上圖書(shū)銷售系統(tǒng)是一個(gè)基于內(nèi)部網(wǎng)和外部
42、網(wǎng)的應(yīng)用程序,采用j2ee技術(shù),提高系統(tǒng)數(shù)據(jù)的共享性,增加系統(tǒng)服務(wù)的對(duì)象。3.1.1 目的使用戶和項(xiàng)目人員明確系統(tǒng)的功能和應(yīng)用范圍。3.1.2 范圍本系統(tǒng)可以應(yīng)用于任何操作平臺(tái)。3.1.3 定義、首字母縮寫和縮寫語(yǔ)j2ee-based online book sales system(bss)網(wǎng)上圖書(shū)銷售系統(tǒng)electronic commerce (ec) 電子商務(wù)3.1.4 參考文獻(xiàn)系統(tǒng)開(kāi)發(fā)過(guò)程中使用到的文獻(xiàn)資料,將在后面專門說(shuō)明。3.2 整體說(shuō)明整個(gè)系統(tǒng)共分為16個(gè)模塊:3.2.1 圖書(shū)瀏覽模塊圖書(shū)瀏覽模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以分不同圖書(shū)種類瀏覽圖書(shū)的名稱、種類、價(jià)錢、出版
43、社和出版日期等;顧客可以輸入圖書(shū)關(guān)鍵字查詢圖書(shū)信息。 3.2.2 圖書(shū)管理模塊圖書(shū)管理模塊是應(yīng)用程序,它的用戶是后臺(tái)系統(tǒng)管理員。圖書(shū)信息管理員可以添加、刪除、修改圖書(shū)的種類和圖書(shū)。3.2.3 購(gòu)物車模塊購(gòu)物車模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以將選中的圖書(shū)放入購(gòu)物車,可以修改購(gòu)物車中圖書(shū)的數(shù)量,可以刪除購(gòu)物車?yán)锏膱D書(shū),也可以通過(guò)購(gòu)物車下訂單。3.2.4 訂單管理模塊訂單管理模塊是應(yīng)用程序,它的用戶是后臺(tái)系統(tǒng)管理員。管理員負(fù)責(zé)查看訂單的詳細(xì)信息和執(zhí)行訂單。3.2.5 留言信息模塊留言信息模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以通過(guò)該模塊填寫反饋意見(jiàn)和要求,表達(dá)滿意和不滿意。3.2.6 顧
44、客留言信息管理模塊顧客留言信息管理模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員。管理員查看每個(gè)客戶的反饋意見(jiàn),及時(shí)處理不滿的意見(jiàn)。3.2.7 圖書(shū)類別信息管理模塊圖書(shū)類別信息管理模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員。管理員可以查看、增加、刪除圖書(shū)類別信息。3.2.8 推薦圖書(shū)信息顯示模塊推薦圖書(shū)信息顯示模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以查看最新的推薦圖書(shū)列表,可以將特價(jià)圖書(shū)放入購(gòu)物車。3.2.9 顧客的注冊(cè)、登錄模塊顧客的注冊(cè)、登錄模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客需求登錄圖書(shū)銷售系統(tǒng)才可以選購(gòu)圖書(shū)。3.2.10 后臺(tái)信息管理的登錄模塊信息管理的登錄模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員。管
45、理員登錄通過(guò)驗(yàn)證,可以對(duì)后臺(tái)信息進(jìn)行操作。3.2.11 用戶管理模塊用戶管理模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員。管理員可以查看用戶的詳細(xì)信息、凍結(jié)或解凍用戶信息。3.2.12 公告內(nèi)容顯示模塊公告內(nèi)容顯示模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以瀏覽網(wǎng)站發(fā)布的各類型的新聞信息。3.2.13 公告管理模塊公告管理模塊是應(yīng)用程序,用戶是后臺(tái)管理員。管理員可以查看、發(fā)布和刪除網(wǎng)站上的公告信息。3.2.14 圖書(shū)評(píng)論和回應(yīng)模塊論壇是互聯(lián)網(wǎng)程序,用戶是顧客。提供給登錄系統(tǒng)的顧客們一個(gè)交流的空間,可也對(duì)圖書(shū)發(fā)表自己的看法和對(duì)已發(fā)表的圖書(shū)評(píng)論進(jìn)行回應(yīng)。3.2.15 圖書(shū)評(píng)論和回應(yīng)管理模塊圖書(shū)評(píng)論和回應(yīng)管理
46、模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員。管理員可以查看評(píng)論和回應(yīng)信息,也可刪除評(píng)論和回應(yīng)信息。3.2.16 網(wǎng)上調(diào)查模塊網(wǎng)上調(diào)查模塊是互聯(lián)網(wǎng)程序,用戶是顧客。顧客可以對(duì)調(diào)查進(jìn)行投票和查看投票結(jié)果。3.2.17 新書(shū)上架顯示模塊新書(shū)上架信息顯示模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以查看最新的上架圖書(shū)列表,可以將新上架圖書(shū)放入購(gòu)物車。3.2.18 圖書(shū)銷售排行顯示模塊圖書(shū)銷售排行顯示模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以查看最暢銷的圖書(shū)信息,可以將暢銷圖書(shū)放入購(gòu)物車。3.2.19 分類瀏覽圖書(shū)模塊分類瀏覽圖書(shū)模塊是互聯(lián)網(wǎng)程序,它的用戶是顧客。顧客可以點(diǎn)擊圖書(shū)類別,然后顯示該類別的所有圖書(shū),可
47、以將圖書(shū)放入購(gòu)物車。3.2.20 網(wǎng)上調(diào)查管理模塊網(wǎng)上調(diào)查管理模塊是應(yīng)用程序,它的用戶是后臺(tái)管理員,管理員可以瀏覽,添加和刪除投票項(xiàng)目。3.3 具體需求3.3.1 功能(1) 顧客可以方便地查看圖書(shū)信息,及了解每天的特價(jià)圖書(shū)。(2) 顧客可以方便地隊(duì)購(gòu)物車中的圖書(shū)進(jìn)行增加、刪除、修改和下訂單。(3)
48、 顧客可以反饋?zhàn)约旱臐M意和部滿意意見(jiàn)。(4) 管理員可以方便地添加、刪除、修改圖書(shū)和添加和刪除、圖書(shū)類別。(5) 管理員可以方便地查看訂單,可以方便執(zhí)行訂單。(6) 管理員可以方便地查看顧客留言信息和記錄反饋信息的處理情況。(7)
49、; 管理員可以方便地添加、刪除、修該推薦圖書(shū),新上架圖書(shū),暢銷圖書(shū)。(8) 管理員可以方便地查看和凍結(jié)用戶信息。3.3.2 可用性本系統(tǒng)符合microsoft的gui標(biāo)準(zhǔn)。3.3.3 可靠性(1) 服務(wù)器模塊可以24小時(shí)無(wú)人運(yùn)行;(2)
50、160; 平均故障間隔時(shí)間是每月1次;(3) 平均修復(fù)時(shí)間是3小時(shí);(4) 可采用雙服務(wù)器保證數(shù)據(jù)完整。3.3.4 性能(1) 響應(yīng)時(shí)間:對(duì)遠(yuǎn)程查詢?cè)L問(wèn)響應(yīng)的平均時(shí)間是3秒,最長(zhǎng)是10秒;intranet程序的響應(yīng)時(shí)間少于1秒。(2)
51、60; 吞吐量:每秒處理的事務(wù)數(shù)達(dá)到2000條。(3) 容量:系統(tǒng)可以容納的客戶數(shù)是1000人同時(shí)使用。3.3.5 可支持性本系統(tǒng)應(yīng)用jdk1.5、tomcat6.0、dreamweaver mx 8.0。3.3.6 設(shè)計(jì)約束應(yīng)用的開(kāi)發(fā)工具是jdk1.5、tomcat6.0、dreamweaver mx 8.0和mysql,設(shè)計(jì)的模塊和性能將受到上述開(kāi)發(fā)工具的約束。3.3.7 聯(lián)機(jī)用戶文檔和幫
52、助系統(tǒng)需求聯(lián)機(jī)用戶文檔、幫助系統(tǒng)需求說(shuō)明書(shū)。3.3.8 購(gòu)買的構(gòu)件無(wú)。3.3.9 接口(1) 用戶界面本系統(tǒng)的用戶界面分為用戶程序和網(wǎng)絡(luò)程序兩個(gè)部分。(2) 硬件接口本系統(tǒng)的硬件接口是usb2.0.(3) 軟件接口軟件輸出的數(shù)據(jù)格式由用戶決定。(4) &
53、#160; 通信接口本系統(tǒng)的通信接口由tomcat提供。 4 數(shù)據(jù)庫(kù)設(shè)計(jì)4.1 數(shù)據(jù)庫(kù)的概念當(dāng)人們從不同的角度來(lái)描述這一概念時(shí)就有不同的定義。例如,稱數(shù)據(jù)庫(kù)是一個(gè)“記錄保存系統(tǒng)”(該定義強(qiáng)調(diào)了數(shù)據(jù)庫(kù)是若干記錄的集合)。又如稱數(shù)據(jù)庫(kù)是“人們?yōu)榻鉀Q特定的任務(wù),以一定的組織方式存儲(chǔ)在一起的相關(guān)的數(shù)據(jù)的集合”(該定義側(cè)重于數(shù)據(jù)的組織
54、)。更有甚者稱數(shù)據(jù)庫(kù)是“一個(gè)數(shù)據(jù)倉(cāng)庫(kù)”。當(dāng)然,這種說(shuō)法雖然形象,但并不嚴(yán)謹(jǐn)。嚴(yán)格地說(shuō),數(shù)據(jù)庫(kù)是“按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)”。本網(wǎng)站將使用一直以來(lái)使用都最為廣泛的關(guān)系模型作為數(shù)據(jù)庫(kù)的建設(shè)依據(jù)。在用戶的觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表,并且關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。而一個(gè)基于關(guān)系模型的數(shù)據(jù)庫(kù)則是由若干個(gè)二維表組成的。對(duì)于一些大型和中型的數(shù)據(jù)庫(kù),如oracle,sql server 2000/7.0等都屬于關(guān)系型數(shù)據(jù)庫(kù),同時(shí)它們所帶有的數(shù)據(jù)庫(kù)管理工具是其他小型數(shù)據(jù)庫(kù)所沒(méi)有的,而同時(shí)這些工具又為管理員的工作節(jié)省了很多的時(shí)間和財(cái)力。
55、4.2 數(shù)據(jù)庫(kù)的三層結(jié)構(gòu)數(shù)據(jù)庫(kù)3層結(jié)構(gòu):1、 用戶視圖層:這一層面向各個(gè)具體用戶。從滿足用戶需求出發(fā)而設(shè)計(jì)的各種各樣的文件結(jié)構(gòu),在系統(tǒng)中稱為子模型。子模型用圖、表來(lái)表示,給人以直觀清晰、一目了然之感。用戶看到的是一些視圖,它只提供用戶所需的信息,以免用戶訪問(wèn)到其它無(wú)關(guān)的信息。例如,在銀行中的顧客看到的是數(shù)據(jù)庫(kù)顧客帳戶的信息,他們不能訪問(wèn)銀行雇員的工資信息。然而計(jì)算機(jī)是不會(huì)認(rèn)識(shí)這些圖表的。為了讓計(jì)算機(jī)認(rèn)識(shí)它,dbms設(shè)置了一種數(shù)據(jù)定義語(yǔ)言(dll)。用dll精確定義數(shù)據(jù)模型的程序稱為模式。除非整體改動(dòng),否則數(shù)據(jù)庫(kù)
56、模式一般是部經(jīng)常變化的。用戶視圖的這種語(yǔ)言形式定義稱為子模式。由圖可見(jiàn),對(duì)于同一數(shù)據(jù)庫(kù),系統(tǒng)提供許多的用戶視圖。也就是說(shuō),一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)不同的子模式。2、 邏輯層:這一層面向全局,它綜合各用戶的信息需求,設(shè)計(jì)了一個(gè)全局性的、完整的而又無(wú)冗余的系統(tǒng)框架,稱為邏輯模型。邏輯層的簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)的操作要與復(fù)雜的物理層結(jié)構(gòu)相聯(lián)系,但用戶不用擔(dān)心這些,因?yàn)檫壿媽邮怯蓴?shù)據(jù)庫(kù)管理員來(lái)使用的。邏輯模型的語(yǔ)言形式定義為邏輯模型。用戶的信息來(lái)自邏輯層,而邏輯層又從物理層獲的信息。3、
57、; 物理層:這一層完全面向物理存儲(chǔ)。物理層詳細(xì)的描述了復(fù)雜的底層數(shù)據(jù)結(jié)構(gòu)。在完成存放基本文件的前提下,考慮物理存儲(chǔ)的最佳組織形式,我們把不考慮用戶需求而僅僅著眼于物理存儲(chǔ)的模型稱為物理模型。用ddl定義的語(yǔ)言形式稱為物理模式。物理模式是邏輯模式的具體實(shí)現(xiàn)。數(shù)據(jù)庫(kù)系統(tǒng)具有幾個(gè)模式。在最底層是物理模式,中間層是邏輯模式,在最高層是子模式??偠灾瑪?shù)據(jù)庫(kù)系統(tǒng)支持一個(gè)物理模式,一個(gè)邏輯模式和幾個(gè)子模式。在某一層上修改一個(gè)模式而不影響其它層的模式定義的能力稱為數(shù)據(jù)獨(dú)立性。有兩種獨(dú)立性。 物理獨(dú)立性:是指當(dāng)數(shù)據(jù)的物理存儲(chǔ)設(shè)備、物理存儲(chǔ)結(jié)構(gòu)和存取方法發(fā)生變化時(shí),數(shù)據(jù)的邏
58、輯結(jié)構(gòu)和定義可以不變,應(yīng)用程序也可以不變的能力。 邏輯獨(dú)立性:是一種應(yīng)用程序可以不管邏輯模式定義的改變而正確執(zhí)行的能力。從另一方面說(shuō),用戶要求的改變,應(yīng)對(duì)用戶的子模式的影響最小。邏輯獨(dú)立性比物理獨(dú)立性更加難以實(shí)現(xiàn)。因?yàn)閼?yīng)用程序更大程度上依賴于它們所訪問(wèn)的數(shù)據(jù)的邏輯結(jié)構(gòu)。數(shù)據(jù)獨(dú)立性概念與現(xiàn)代編程語(yǔ)言中抽象數(shù)據(jù)類型概念的許多方面相似。兩者都對(duì)用戶隱藏了底層信息,而用戶關(guān)系的只是普通結(jié)構(gòu)。4.3 數(shù)據(jù)庫(kù)的選擇本網(wǎng)站使用mysql 5.12實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)。mysql是一個(gè)真正的多用戶、多線程sql數(shù)據(jù)庫(kù)服務(wù)器,是一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的應(yīng)用,它由一個(gè)服務(wù)器守護(hù)程序
59、mysql和很多不同的客戶程序及相關(guān)的庫(kù)組成。它有較好的數(shù)據(jù)承載能力,一個(gè)環(huán)境有超過(guò) 40 個(gè)數(shù)據(jù)庫(kù),包含 10,000個(gè)表,其中500多個(gè)表超過(guò)7百萬(wàn)行,總數(shù)據(jù)大約有100gb的數(shù)據(jù)庫(kù)系統(tǒng)可以很好的被mysql所支持,而mysql本身不會(huì)像oracle那樣對(duì)系統(tǒng)及硬盤空間有很高的要求,同時(shí)用戶權(quán)限設(shè)置簡(jiǎn)單、有效。這也是本網(wǎng)站選用mysql作為后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)重要原因之一。4.4 數(shù)據(jù)庫(kù)表的描述概念模型是對(duì)信息世界建模,其表示方法有很多,其中最為常用的是實(shí)體聯(lián)系模型,即er模型,它是用er圖來(lái)描述現(xiàn)實(shí)世界的概念模型。er圖中用矩形表示實(shí)體;用橢圓表示屬性;用菱
60、形表示聯(lián)系。本網(wǎng)站表示實(shí)體及其聯(lián)系的er圖,見(jiàn)圖41。為了清楚簡(jiǎn)便的描述出實(shí)體與其屬性之間的關(guān)系,用visio軟件生成了一張包含實(shí)體屬性的完整er圖,見(jiàn)圖42。圖41圖42 4.3.1 用戶信息表(tb_member)該表主要完成用戶基本信息的錄入、刪除、更新等功能。在此表中定義了14個(gè)字段來(lái)進(jìn)行用戶的信息存儲(chǔ)。見(jiàn)表43。表43標(biāo)識(shí)符數(shù)據(jù)類型長(zhǎng)度非空描述主鍵外鍵說(shuō)明idbigint自動(dòng)y y 自增usernamevarchar20y昵稱 passwordvarchar16y密碼 truenamev
61、archar自動(dòng)y真實(shí)姓名 cityvarchar20y所在城市 addressvarchar40y家庭住址 cardtypevarchar24y證件類型 cardnovarchar24y證件號(hào)碼 emailvarchar30y電子郵件 postcodevarchar6n郵政編碼 gradeint4y用戶等級(jí) amountdo
62、uble8y消費(fèi)金額 telvarchar20y電話號(hào)碼 freezesmallint3y是否凍結(jié) 4.3.2 圖書(shū)信息表(tb_bookinfo)該表主要完成圖書(shū)信息的錄入、刪除功能。在此表中定義了13個(gè)字段來(lái)進(jìn)行圖書(shū)的信息存儲(chǔ)。見(jiàn)表44。表44標(biāo)識(shí)符數(shù)據(jù)類型長(zhǎng)度非空描述主鍵外鍵說(shuō)明idbigint自動(dòng)y y 自增booknamevarchar16y書(shū)名 typevarchar10y類別 publishervarc
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全國(guó)青島版信息技術(shù)七年級(jí)上冊(cè)專題一第3課二、《常見(jiàn)信息安全問(wèn)題與防護(hù)措施》教學(xué)設(shè)計(jì)
- 2025至2030年P(guān)TFE推(擠)壓管緊襯直管項(xiàng)目投資價(jià)值分析報(bào)告
- Unit 8 Reading(1)教學(xué)設(shè)計(jì)2024-2025學(xué)年牛津譯林版九年級(jí)英語(yǔ)上冊(cè)
- 2025至2030年中國(guó)小功率充磁/退磁機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)餅點(diǎn)叉數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)防爆除濕機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 總價(jià)合同的施工合同范本
- 16 麻雀(教學(xué)設(shè)計(jì))2024-2025學(xué)年-統(tǒng)編版語(yǔ)文四年級(jí)上冊(cè)
- 16 夏天里的成長(zhǎng) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)
- 2025年晶體震蕩器項(xiàng)目可行性研究報(bào)告
- 急診科護(hù)理帶教經(jīng)驗(yàn)
- 涉警輿情培訓(xùn)課件模板
- 2024年鄭州信息科技職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 學(xué)校保密教育培訓(xùn)課件
- 班組文化是企業(yè)文化建設(shè)的核心
- Project-培訓(xùn)教學(xué)課件
- 福建省服務(wù)區(qū)標(biāo)準(zhǔn)化設(shè)計(jì)指南
- 銷售人員薪酬設(shè)計(jì)實(shí)例 薪酬制度設(shè)計(jì) 薪酬設(shè)計(jì)方案 設(shè)計(jì)案例全套
- 征地搬遷基本要求及工作技巧課件
- 部編版語(yǔ)文五年級(jí)下冊(cè) 課本解讀
- 供應(yīng)商現(xiàn)場(chǎng)審核評(píng)估表
評(píng)論
0/150
提交評(píng)論