基于jsp的電影票預(yù)定網(wǎng)站設(shè)計(jì)_第1頁
已閱讀1頁,還剩100頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設(shè)計(jì))</b></p><p>  題 目 基于JSP的電影票預(yù)定網(wǎng)站的設(shè)計(jì)</p><p><b>  學(xué)生姓名 </b></p><p>  學(xué) 號(hào) </p><p><b>  院 系 </b>&l

2、t;/p><p>  專 業(yè) </p><p>  指導(dǎo)教師 </p><p>  二O 年 月 日</p><p>  目 錄</p><p><b>  1 引言1</b></p><p><b>  2

3、系統(tǒng)分析2</b></p><p>  2.1 需求分析2</p><p>  2.2 可行性分析3</p><p><b>  3 系統(tǒng)設(shè)計(jì)3</b></p><p>  3.1 總體設(shè)計(jì)目標(biāo)3</p><p>  3.2 功能模塊設(shè)計(jì)4</p><p

4、>  3.3 數(shù)據(jù)庫設(shè)計(jì)8</p><p>  3.4 系統(tǒng)特點(diǎn)14</p><p><b>  4 系統(tǒng)實(shí)施14</b></p><p>  4.1 系統(tǒng)運(yùn)行環(huán)境14</p><p>  4.2 系統(tǒng)架構(gòu)設(shè)計(jì)15</p><p>  4.3 相關(guān)技術(shù)介紹15</p>

5、<p>  5 系統(tǒng)實(shí)現(xiàn)與運(yùn)行19</p><p>  5.1 登錄頁面的實(shí)現(xiàn)19</p><p>  5.2 前臺(tái)頁面的實(shí)現(xiàn)20</p><p>  5.3 后臺(tái)頁面的實(shí)現(xiàn)25</p><p><b>  6 結(jié)論26</b></p><p>  附錄 主要功能代碼29

6、</p><p>  基于JSP的電影票預(yù)訂網(wǎng)站的設(shè)計(jì)</p><p>  摘要:為方便公眾的娛樂生活,避免人們現(xiàn)場購買電影票時(shí)受排隊(duì)之苦,本文研究B/S架構(gòu)的在線電影票預(yù)定網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)過程,從需求分析、網(wǎng)站設(shè)計(jì)到具體實(shí)現(xiàn)都遵循了網(wǎng)站開發(fā)的思想和數(shù)據(jù)庫的設(shè)計(jì)方法。網(wǎng)站的設(shè)計(jì)與開發(fā)使用JSP開發(fā)工具,應(yīng)用Microsoft Access管理數(shù)據(jù)庫。文章詳細(xì)介紹了一個(gè)電影票預(yù)訂網(wǎng)站的分析、

7、設(shè)計(jì)和開發(fā)全過程,分析并實(shí)現(xiàn)了電影票訂購的基本功能。</p><p>  關(guān)鍵詞:電影票預(yù)訂;JSP;數(shù)據(jù)庫</p><p><b>  1 引言</b></p><p>  互聯(lián)網(wǎng)以前所未有的速度發(fā)展,成為與報(bào)紙、廣播、電視相比肩的第四媒體,同時(shí)正以其便捷的信息傳輸形式改變著人們的消費(fèi)模式,利用簡單、快捷、低成本的電子通信方式,買賣雙方不謀面

8、就可以進(jìn)行各種商貿(mào)活動(dòng),走向商業(yè)的互聯(lián)網(wǎng)已經(jīng)成為網(wǎng)絡(luò)經(jīng)濟(jì)的大勢(shì)所趨。1996年前后,在美國學(xué)術(shù)界提出“電子商務(wù)”(E-Buiness或E-Commerce)的概念。短短幾年時(shí)間內(nèi)這一概念被廣泛接受。根據(jù)買方賣方的不同,電子商務(wù)市場可劃分為4種類型:B2B(Business to Business)、C2C(Consumer to Consumer)、C2B(Consumer to Business) 以及 B2C(Business to

9、 Consumer)幾種模式,目前占據(jù)主流的是 B2B 和 B2C 兩種。B2B 主要面向企業(yè),這種平臺(tái)對(duì)性能、安全和服務(wù)要求比較高;B2C 直接面向終端的大眾消費(fèi)者。眼下電子商務(wù)網(wǎng)站正如雨后春筍般地大量涌現(xiàn)[1]。</p><p>  正是因?yàn)閲窠?jīng)濟(jì)快速發(fā)展,人們對(duì)生活的要求越來越高,娛樂方式越來越多樣化,對(duì)服務(wù)的快捷、便利性要求也越來越高,從而他們對(duì)電影院行業(yè)的建設(shè)與管理提出了更高的要求。由于電影數(shù)量與電影

10、種類不斷增加,電影事業(yè)不斷發(fā)展,中心影城的管理難度也越來越大。然而傳統(tǒng)的售票方式存在著很多方面的不足,比如實(shí)時(shí)差、交易時(shí)間過長、運(yùn)營成本高、信息不共享等[2]。為適應(yīng)和推動(dòng)電影行業(yè)的發(fā)展,各電影院公司和部門開始廣泛采用計(jì)算機(jī)管理系統(tǒng),推出網(wǎng)上電影票售票服務(wù),大大減輕了訂票、售票、檢票、調(diào)度、票款管理等部門工作人員的勞動(dòng)強(qiáng)度,提高了各部門的工作效率,而且能夠在很大程度上減少顧客排隊(duì)購票的時(shí)間和由此而帶給顧客的疲勞,為廣大顧客提供了更加快捷

11、、優(yōu)質(zhì)、有序的服務(wù),提高了中心影城的服務(wù)水平,也逐步樹立了企業(yè)形象。</p><p>  根據(jù)這種現(xiàn)實(shí)需要,設(shè)計(jì)制作一個(gè)影城在線售票管理系統(tǒng)便成為一件非常有價(jià)值的工作。應(yīng)用在線售票網(wǎng)站對(duì)影城進(jìn)行管理具有傳統(tǒng)管理模式不可比擬的優(yōu)點(diǎn),它憑借其信息更新速度快、信息存儲(chǔ)量大、安全性高、應(yīng)用簡便等特點(diǎn)為影城的管理帶來了極大的方便,發(fā)揮越來越重要的作用。因此,越來越多的電影院都想利用動(dòng)態(tài)電子商務(wù)的優(yōu)越性來進(jìn)行網(wǎng)上售票交易,以

12、減少電影院工作人員大量繁瑣的售票工作,避免人們趕到電影院發(fā)現(xiàn)票已售完的情況,縮短排隊(duì)買票的時(shí)間?,F(xiàn)如今比較成熟的電影票在線售票網(wǎng)站一般以數(shù)據(jù)庫(如MySql、SQL Server)為基礎(chǔ),應(yīng)用當(dāng)今最為流行的網(wǎng)絡(luò)編程語言(如JAVA、ASP語言)共同制作而成。本文也將結(jié)合現(xiàn)實(shí)需要,設(shè)計(jì)出一個(gè)基于JSP語言、Access數(shù)據(jù)庫管理系統(tǒng)的在線電影票預(yù)訂網(wǎng)站。</p><p><b>  2 系統(tǒng)分析</

13、b></p><p><b>  2.1 需求分析</b></p><p>  首先對(duì)現(xiàn)有系統(tǒng)進(jìn)行分析,現(xiàn)有系統(tǒng)是信息的重要來源。分析已有系統(tǒng)的功能和實(shí)現(xiàn),從而確定新系統(tǒng)的設(shè)計(jì)目標(biāo)和模型。由于條件有限,調(diào)研主要是在網(wǎng)上進(jìn)行,即通過在網(wǎng)上查看已有的電影票預(yù)訂網(wǎng)站,注冊(cè)成為其會(huì)員來了解該網(wǎng)站具備的功能。</p><p>  2.1.1 用戶需

14、求</p><p>  “用戶是上帝”,設(shè)計(jì)網(wǎng)站前應(yīng)詳細(xì)了解用戶需求,這樣才能避免日后因不滿足用戶需求而造成大量修改。電影票預(yù)訂網(wǎng)站前臺(tái)應(yīng)考慮以下幾方面的要求:</p><p>  用戶通過在線注冊(cè)成為網(wǎng)站的用戶,可以獲得以下功能:電影瀏覽,購買電影票,查看訂單,修改訂單,修改個(gè)人信息,評(píng)價(jià)電影等。</p><p> ?。?)用戶注冊(cè):只有注冊(cè)為本網(wǎng)站的會(huì)員后才有權(quán)

15、限瀏覽網(wǎng)頁。</p><p> ?。?)用戶登錄:分為普通用戶和管理員。身份驗(yàn)證后,普通用戶進(jìn)入網(wǎng)站前臺(tái)進(jìn)行信息瀏覽,管理員進(jìn)入網(wǎng)站后臺(tái)進(jìn)行信息管理。</p><p> ?。?)電影瀏覽:用戶可以一覽近期影院上映電影的信息。</p><p>  (4)電影票預(yù)定:在查看電影信息后,用戶可以根據(jù)個(gè)人需求預(yù)定電影票,選擇方位和購買數(shù)量。</p><p

16、> ?。?)修改訂單:用戶可以查看自己的購物車,確認(rèn)訂單信息,發(fā)現(xiàn)有誤時(shí),可以刪除訂單。</p><p>  (6)修改個(gè)人信息:用戶的個(gè)人信息(如:電話、地址等)變更時(shí),可以在網(wǎng)站前臺(tái)修改自己的信息。</p><p> ?。?)給電影評(píng)價(jià):用戶可以在觀看電影之后對(duì)其做出評(píng)價(jià),以供其他網(wǎng)友參考電影是否具有觀看價(jià)值。</p><p>  2.1.2 功能性需求&

17、lt;/p><p>  功能性需求分析是指對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析是軟件設(shè)計(jì)、實(shí)現(xiàn)測試直至維護(hù)的主要基礎(chǔ),良好的需求分析可以避免或盡早提出早期的錯(cuò)誤,從而降低軟件的開發(fā)成本,改進(jìn)軟件的質(zhì)量。需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解系統(tǒng)的工作概況,明確各種功能需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變[3]。</p>

18、<p>  本電影票預(yù)訂網(wǎng)站后臺(tái)應(yīng)完成以下任務(wù):</p><p> ?。?)電影信息管理:可以添加、修改新上映電影的信息,電影下檔后,亦可刪除原來的電影信息。</p><p> ?。?)訂單管理:查看訂單詳情以確認(rèn)訂單或刪除訂單。</p><p> ?。?)用戶管理:查看用戶信息,或做刪除處理,管理后臺(tái)。</p><p> ?。?/p>

19、4)電影評(píng)價(jià)管理:查看用戶對(duì)電影評(píng)價(jià)信息,可以做刪除處理。</p><p>  系統(tǒng)對(duì)數(shù)據(jù)的安全性、完整性要求表現(xiàn)在:用戶信息保密,只有管理員可見(可查),但不能任意修改。確保用戶信息安全。此外,電影信息、用戶信息必須保證其完整性,防止惡意刪改。以下是系統(tǒng)性能需求:</p><p> ?。?)準(zhǔn)確性和可靠性高。</p><p> ?。?)頁面友好,功能齊全,且可以方

20、便使用。</p><p>  2.1.3 非功能性需求</p><p> ?。?)用戶界面需求:簡潔、易用、易懂,友好和諧的用戶界面。</p><p> ?。?)硬件需求:Pentium以上計(jì)算機(jī)</p><p> ?。?)可靠性需求:保證用戶在正常使用本系統(tǒng)時(shí),用戶的操作或誤操作不會(huì)產(chǎn)生數(shù)據(jù)丟失。</p><p> 

21、 (4)安全保密性需求:用戶登錄需要密碼驗(yàn)證。</p><p><b>  2.2 可行性分析</b></p><p>  開發(fā)任何一個(gè)網(wǎng)站,都會(huì)受到時(shí)間和資源上的限制。因此,在每一個(gè)項(xiàng)目開發(fā)之前,都要進(jìn)行可行性分析,以減少項(xiàng)目的開發(fā)風(fēng)險(xiǎn),避免人力,物力和財(cái)力的浪費(fèi)??尚行苑治鲋饕ń?jīng)濟(jì)可行性和技術(shù)可行性等。</p><p>  2.2.1

22、經(jīng)濟(jì)可行性</p><p>  經(jīng)濟(jì)可行性,主要是針對(duì)電影院的,開發(fā)網(wǎng)站的成本與收益相比較。如今是信息化時(shí)代,信息化管理可以使電影票預(yù)訂網(wǎng)站更加便捷化、快速化,這樣可以為影院帶來較好的工作效益和經(jīng)濟(jì)效益,開發(fā)出本網(wǎng)站可以減少影院售票人員人數(shù),而且管理方便,各功能實(shí)現(xiàn)快速,數(shù)據(jù)有效的管理。這些效益和管理上的便捷遠(yuǎn)遠(yuǎn)超過了開發(fā)本網(wǎng)站的成本,所以在經(jīng)濟(jì)上具有完全的可行性。</p><p>  2

23、.2.2 技術(shù)可行性</p><p>  本網(wǎng)站開發(fā)工具是JSP和Microsoft Access。JSP具有可視化界面,是一種面向?qū)ο蟮恼Z言,簡單易學(xué)而且靈活方便,Microsoft Access是一個(gè)安全、可靠的并且支持面向?qū)ο笤O(shè)計(jì)的數(shù)據(jù)庫系統(tǒng)。易用性和可維護(hù)性也很好。通過學(xué)習(xí)鉆研JSP和Access,電影票預(yù)訂網(wǎng)站總體上開發(fā)難度不是太高,技術(shù)上具有完全的可行性。</p><p>&l

24、t;b>  3 系統(tǒng)設(shè)計(jì)</b></p><p>  3.1 總體設(shè)計(jì)目標(biāo)</p><p>  減少影院售票人員大量繁瑣的工作,方便人們提前購票。網(wǎng)站用戶通過使用本系統(tǒng),可以隨時(shí)根據(jù)需要,查詢上映電影信息,對(duì)電影票預(yù)訂網(wǎng)站中的個(gè)人信息進(jìn)行修改,并可以根據(jù)個(gè)人喜好提前預(yù)定電影票,避免了現(xiàn)場排隊(duì)購票之苦,同時(shí)也減少影院在售票方面的人力和物力的投資。作為一個(gè)在線訂票網(wǎng)站,除了要

25、功能強(qiáng)大、操作簡單、符合上述需求分析,還應(yīng)實(shí)現(xiàn)其他目標(biāo),以適用于各類城市影院,具體要求如下:</p><p> ?。?)界面在設(shè)計(jì)上要美觀、友好,操作要快捷、準(zhǔn)確;</p><p> ?。?)數(shù)據(jù)存儲(chǔ)要安全可靠;</p><p> ?。?)注冊(cè)用戶可以隨時(shí)修改個(gè)人信息;</p><p>  (4)對(duì)于用戶輸入的數(shù)據(jù),系統(tǒng)要有嚴(yán)格的檢錯(cuò)機(jī)制,盡

26、可能排除人為錯(cuò)誤;</p><p>  (5)系統(tǒng)要最大限度的實(shí)現(xiàn)易維護(hù)性,運(yùn)行要穩(wěn)定、可靠、安全。</p><p>  3.2 功能模塊設(shè)計(jì)</p><p>  概念模型是信息管理系統(tǒng)設(shè)計(jì)中較早卻相當(dāng)重要的一步,為了全面獲取本系統(tǒng)的概念模型,首先需要分析整個(gè)網(wǎng)站的操作流程。以用戶在購票體驗(yàn)上盡量接近一般網(wǎng)購方式為出發(fā)點(diǎn),網(wǎng)站在設(shè)計(jì)上應(yīng)使購票流程盡量貼近人們平時(shí)的網(wǎng)

27、購習(xí)慣。因此,可以得到用戶登錄網(wǎng)站進(jìn)行購票的流程圖,如圖3-1所示。</p><p>  從網(wǎng)站管理員角度來看,管理員進(jìn)入網(wǎng)站后臺(tái)選擇相應(yīng)的功能,操作結(jié)束后,仍可以進(jìn)行其他操作,或者沒有操作時(shí)退出網(wǎng)站。網(wǎng)站后臺(tái)管理流程如圖3-2所示。</p><p>  整個(gè)系統(tǒng)的處理流程如下:</p><p>  (1)用戶進(jìn)入登錄頁面,身份驗(yàn)證:普通用戶和管理員的權(quán)限有所不同。

28、</p><p> ?。?)正常進(jìn)入網(wǎng)站:身份核實(shí)無誤后,按權(quán)限的不同,普通用戶進(jìn)入網(wǎng)站前臺(tái),管理員進(jìn)入網(wǎng)站后臺(tái)。</p><p> ?。?)執(zhí)行各任務(wù):根據(jù)各自需求,進(jìn)行各項(xiàng)操作。</p><p> ?。?)一任務(wù)執(zhí)行完畢后重新返回主頁:執(zhí)行任務(wù)后回到主頁能夠保證操作的條理性。</p><p> ?。?)執(zhí)行完畢,退出網(wǎng)站:若所要執(zhí)行的任務(wù)

29、全部完成,即可退出網(wǎng)站。</p><p>  為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序、文件以及數(shù)據(jù)庫。模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序設(shè)計(jì)對(duì)象的集合,它是單獨(dú)命名的而且可通過名字來訪問。模塊化就是把程序化分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集起來組成一個(gè)整體,可以完成指定的滿足問題的要求[4]。</p><p>  通過以上流程分析,可以進(jìn)一步設(shè)計(jì)出電影票預(yù)訂

30、網(wǎng)站的總體結(jié)構(gòu)模塊圖,分別從用戶和管理員兩個(gè)不同的角度去設(shè)計(jì),如圖3-3所示。</p><p> ?。?)用戶模塊:在本網(wǎng)站中,所有的用戶在訪問網(wǎng)站的時(shí)候均可以瀏覽查看電影信息、將電影加入購物車、查看購物車刪除影票、給電影做出評(píng)價(jià)、修改個(gè)人基本信息。其功能結(jié)構(gòu)模塊圖如圖3-4所示。</p><p>  (2)管理模塊:在本網(wǎng)站中,管理員除了要進(jìn)行相關(guān)信息的維護(hù)還有如下主要工作:定時(shí)查看電影

31、評(píng)價(jià)信息,審查用戶的評(píng)價(jià)是否具有合法性,刪除惡意評(píng)價(jià);定期對(duì)系統(tǒng)數(shù)據(jù)庫進(jìn)行備份,確保數(shù)據(jù)安全;及時(shí)更新新上映電影的信息,刪除下線電影的信息等等。管理員通過后臺(tái)登錄網(wǎng)站,為確保系統(tǒng)的安全性,管理員后臺(tái)登錄會(huì)進(jìn)行密碼權(quán)限的檢測。成功登錄后,導(dǎo)航條上將出現(xiàn)“電影管理”、“訂單管理”、“用戶管理”及“評(píng)價(jià)管理”等按鈕供管理員進(jìn)行不同的系統(tǒng)操作。上述功能在前臺(tái)不可見,屬于網(wǎng)站的后臺(tái)操作模塊,因此這部分模塊可定義為“后臺(tái)管理”,其功能結(jié)構(gòu)模塊圖如圖

32、3-5所示。</p><p><b>  具體任務(wù)分析如下:</b></p><p> ?、?電影管理模塊的基本功能應(yīng)包括添加、刪除、修改電影信息等。當(dāng)管理員單擊其中的任何一個(gè)功能按鈕時(shí),都可以進(jìn)行對(duì)網(wǎng)站前臺(tái)顯示的電影信息進(jìn)行相關(guān)的操作。</p><p> ?、?用戶管理模塊的基本功能應(yīng)包括網(wǎng)站用戶基本信息查看和注銷處理。其中用戶基本信息查看包

33、括用戶真實(shí)姓名、手機(jī)號(hào)、電子郵箱、地址等。對(duì)于新注冊(cè)的會(huì)員用戶,管理員要對(duì)其注冊(cè)信息進(jìn)行審核。</p><p> ?、?訂單管理模塊的基本功能應(yīng)包括查看用戶已下單的信息、刪除訂單。其中訂單信息包括購買者編號(hào)、電影名稱、放映廳、座位、購買訂購數(shù)量等。當(dāng)管理員單擊查看按鈕時(shí),將顯示該條訂單的詳細(xì)信息。</p><p> ?、?評(píng)價(jià)管理模塊中,只有購買過電影票的網(wǎng)站會(huì)員才能對(duì)電影進(jìn)行評(píng)價(jià),管理員

34、可以查看或刪除評(píng)價(jià)信息。用戶評(píng)價(jià)的發(fā)言主題應(yīng)與電影相關(guān),這是管理員審核的要點(diǎn),對(duì)于一些惡意評(píng)價(jià),管理員可以選擇刪除。</p><p><b>  3.3 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  3.3.1 數(shù)據(jù)流分析</p><p>  數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的基本工具。一個(gè)數(shù)據(jù)流圖確定了系統(tǒng)的轉(zhuǎn)化過程、系統(tǒng)所操縱的數(shù)據(jù)或物質(zhì)的收集(存儲(chǔ)),

35、還有過程、存儲(chǔ)、外部世界之間的數(shù)據(jù)流或物質(zhì)流[5]。</p><p>  數(shù)據(jù)流圖技術(shù)是可以擴(kuò)充到允許實(shí)時(shí)系統(tǒng)的建模。數(shù)據(jù)流圖是當(dāng)前業(yè)務(wù)過程或新系統(tǒng)操作步驟的一種表示方法。數(shù)據(jù)流圖可以在一個(gè)抽象的廣泛范圍內(nèi)表示系統(tǒng)。在一個(gè)多步驟的活動(dòng)中,高層數(shù)據(jù)流圖對(duì)數(shù)據(jù)和處理部分提供一個(gè)整體的瀏覽,這是對(duì)包含在軟件需求規(guī)格說明中的精確、詳細(xì)敘述的補(bǔ)充。數(shù)據(jù)流圖描述了軟件需求規(guī)格說明中的功能需求怎樣結(jié)合在一起,使用戶可以執(zhí)行指定

36、的任務(wù)。從圖中迅速反饋的信息有助于對(duì)所探討的任務(wù)流的理解進(jìn)行提煉加工。</p><p>  電影票預(yù)訂網(wǎng)站的第一層數(shù)據(jù)流圖,如圖3-6所示。本數(shù)據(jù)流圖描述了電影票預(yù)訂網(wǎng)站后臺(tái)的各個(gè)模塊處理過程中的數(shù)據(jù)處理的過程。用戶管理主要是對(duì)用戶信息的查看和刪除;電影管理是添加或修改電影信息;訂單管理是確認(rèn)訂單或刪除訂單;評(píng)價(jià)管理是對(duì)用戶評(píng)價(jià)的查看和刪除。</p><p>  電影信息管理中的數(shù)據(jù)處理圖

37、是本網(wǎng)站的第二層數(shù)據(jù)流圖,如圖3-7所示。描述了在電影信息管理模塊中所作操作的數(shù)據(jù)處理。主要包括對(duì)上映電影信息的添加、刪除和修改操作。</p><p>  用戶管理數(shù)據(jù)流程圖,如圖3-8所示。描述了用戶信息管理模塊中所作操作的數(shù)據(jù)處理。主要包括對(duì)用戶信息的添加和注銷操作。</p><p>  訂單管理數(shù)據(jù)流圖,如圖3-9所示。描述了用戶下單后,訂單管理模塊中所作操作的數(shù)據(jù)處理。網(wǎng)站管理員的

38、主要操作包括查看訂單和刪除訂單。</p><p>  評(píng)價(jià)管理數(shù)據(jù)流圖,如圖3-10所示。描述了已購票用戶觀看電影后,對(duì)電影做出評(píng)價(jià),網(wǎng)站管理員在評(píng)價(jià)管理模塊中所作操作的數(shù)據(jù)處理。管理員的主要操作包括查看評(píng)價(jià)和刪除評(píng)價(jià)。</p><p>  3.3.2 實(shí)體E-R圖</p><p>  E-R圖提供了表示實(shí)體(即數(shù)據(jù)對(duì)象)、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模

39、型[6]。構(gòu)成E-R圖的基本要素是實(shí)體、屬性和聯(lián)系,其表示方法為: </p><p> ?。?)實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名; </p><p> ?。?)屬性:用橢圓形或圓角矩形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來;多值屬性由雙線連接;主屬性名稱下加下劃線; </p><p> ?。?)聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連

40、接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型。在E-R圖中要明確表明1對(duì)多關(guān)系,1對(duì)1關(guān)系和多對(duì)多關(guān)系。1對(duì)1關(guān)系在兩個(gè)實(shí)體連線方向?qū)?;1對(duì)多關(guān)系在1的一方寫1,多的一方寫N;多對(duì)多關(guān)系則是在兩個(gè)實(shí)體連線方向各寫N,M。</p><p>  經(jīng)過分析,由上面的數(shù)據(jù)流程圖可以得出以下各實(shí)體之間的E-R圖,如圖3-11所示。</p><p>  3.3.3 邏輯結(jié)構(gòu)設(shè)計(jì)</p><

41、;p>  模型是軟件的第一個(gè)技術(shù)表示。信息系統(tǒng)的建模是用模型來描述復(fù)雜的信息系統(tǒng),使得系統(tǒng)的要求、結(jié)構(gòu)和數(shù)據(jù)變得簡單。設(shè)計(jì)者通過描述用戶的需求獲得與用戶的不斷交互,最終對(duì)整個(gè)系統(tǒng)能全面地把握。建立完整的數(shù)據(jù)模型,完成對(duì)信息系統(tǒng)中數(shù)據(jù)的存儲(chǔ)和處理。</p><p>  電影票預(yù)訂網(wǎng)站比較復(fù)雜,為了建立這樣一個(gè)復(fù)雜系統(tǒng)的模型,并滿足實(shí)際對(duì)象不斷發(fā)展的需求,在實(shí)際設(shè)計(jì)中應(yīng)遵循下列原則:</p>&l

42、t;p> ?。?)準(zhǔn)確性:所建立的模型要求能夠正確反映實(shí)際的對(duì)象,能夠滿足電影票預(yù)訂網(wǎng)站工作的實(shí)際需求。</p><p> ?。?)完整性:指要求模型既能反映對(duì)象系統(tǒng)的靜態(tài)特性,又能夠反映其豐富的動(dòng)態(tài)特性。</p><p> ?。?)一致性:要求建立的模型能保證從分析階段到設(shè)計(jì)階段的平穩(wěn)過渡。</p><p>  設(shè)計(jì)電影票預(yù)訂網(wǎng)站關(guān)系模型如下:有下劃線的屬性

43、為主鍵(primary key)</p><p> ?。?)展廳信息(展廳號(hào),展廳名稱,標(biāo)簽)</p><p> ?。?)用戶信息(用戶編號(hào),密碼,登陸次數(shù),用戶名,等級(jí),真實(shí)姓名,性別,年齡,地址,郵箱,電話、角色)</p><p> ?。?)電影信息(影片號(hào),影片名,展廳號(hào),價(jià)格,圖片,介紹,上映時(shí)間)</p><p> ?。?)訂單信息

44、(訂單編號(hào),購買用戶名稱,影片號(hào),座位,購買數(shù)量)</p><p> ?。?)評(píng)價(jià)信息(評(píng)價(jià)編號(hào),用戶名稱,評(píng)價(jià)內(nèi)容,評(píng)價(jià)時(shí)間)</p><p>  數(shù)據(jù)庫邏輯結(jié)構(gòu)的基本定義有:</p><p> ?。?)主鍵:在表中是唯一不可重復(fù)的值。具有索引的作用,可以用來快速查詢表內(nèi)數(shù)據(jù)。</p><p> ?。?)外鍵:有此表的列或列的組合和其他表的

45、主鍵值或UNIQUE_KEY具有相關(guān)聯(lián)的特性。此時(shí),可以將這些列或列組合定義為外鍵。</p><p> ?。?)索引:建立索引是為了加快查詢速度的有效手段。用戶可以根據(jù)應(yīng)用環(huán)境的需求,在基本表上建立一個(gè)或多個(gè)索引,以提供多種存取路徑,加快查找速度。</p><p> ?。?)視圖:從一個(gè)或幾個(gè)基本表(或視圖)導(dǎo)出的表,它與基本表不同,是一個(gè)虛表。</p><p> 

46、 經(jīng)過以上分析,本電影票預(yù)訂網(wǎng)站的數(shù)據(jù)庫主要包含以下表:</p><p>  (1)user表:用來管理用戶的基本信息,字段包括:用戶編號(hào)、密碼、性別、登陸次數(shù)、用戶名、等級(jí)、真實(shí)姓名、性別、年齡、地址、郵箱、電話、角色。結(jié)構(gòu)如表3-1所示。</p><p>  表3-1 user表</p><p> ?。?)sorts表:用來記錄展廳的基本信息,字段包括:展廳號(hào)、

47、展廳名稱、標(biāo)簽。結(jié)構(gòu)如表3-2所示。</p><p>  表3-2 sorts表</p><p>  (3)film表:用來管理電影的基本信息,字段包括:影片號(hào)、影片名、展廳號(hào)、價(jià)格、圖片、介紹、上映時(shí)間。結(jié)構(gòu)如表3-3所示。圖片的格式為jpg或gif,以圖片名存儲(chǔ)。</p><p>  表3-3 film表</p><p> ?。?)goo

48、ds表:用來管理訂單基本信息,字段包括:訂單編號(hào)、購買用戶名稱、影片號(hào)、座位、購買數(shù)量。結(jié)構(gòu)如表3-4所示。</p><p>  表3-4 goods表</p><p> ?。?)assess表:用來管理評(píng)價(jià)基本信息,字段包括:評(píng)價(jià)編號(hào)、用戶名稱、評(píng)級(jí)內(nèi)容、評(píng)價(jià)時(shí)間。結(jié)構(gòu)如表3-5所示。</p><p>  表3-5 assess表</p><p

49、><b>  3.4 系統(tǒng)特點(diǎn)</b></p><p>  任何一個(gè)網(wǎng)站的設(shè)計(jì)都需要有自己的特色。從網(wǎng)站的需求到實(shí)現(xiàn),考慮所有的可行性,總結(jié)出系統(tǒng)需具備以下特點(diǎn):</p><p>  (1)人性化設(shè)計(jì):由于個(gè)人喜好不同,人們可能喜歡坐在影院的不同位置觀看電影。所以網(wǎng)站提供了可選的方位,如前方、后方、左方、右方,但由系統(tǒng)直接分配該方位的任一座位給用戶。但對(duì)于登錄本

50、網(wǎng)站購票次數(shù)較多的用戶,他們的等級(jí)會(huì)隨購票次數(shù)增加,達(dá)到一定等級(jí)后,他們成為星級(jí)用戶,可以選擇座位。換言之,普通用戶只能選擇大致方位,而星級(jí)用戶可以選擇具體座位。因此,會(huì)在程序中加入算法,這是本網(wǎng)站的一個(gè)亮點(diǎn)。有關(guān)算法的細(xì)節(jié)將在系統(tǒng)運(yùn)行部分具體介紹。另外,對(duì)于團(tuán)購電影票的用戶(一次購買數(shù)量不小于20張),會(huì)給予優(yōu)惠處理,在原影票價(jià)格的基礎(chǔ)上打8折。</p><p> ?。?)頁面模塊化:本系統(tǒng)在界面設(shè)計(jì)上都采用了

51、模塊化處理思想,把很多頁面共有的部分集成到一個(gè)模塊,如頁面的頭,導(dǎo)航條。這樣在開發(fā)時(shí),遇到這些相似的頁面部分就不需要再重新編寫代碼,大大提高了開發(fā)效率,節(jié)省了時(shí)間。</p><p> ?。?)面向?qū)ο笤O(shè)計(jì):在系統(tǒng)中,將用戶、電影、訂單等都封裝成相應(yīng)的類,同時(shí)每個(gè)類都具有自己相應(yīng)的操作類,從而再次提高了對(duì)數(shù)據(jù)庫操作的安全性和程序的可擴(kuò)展性。</p><p><b>  4 系統(tǒng)實(shí)施

52、</b></p><p>  4.1 系統(tǒng)運(yùn)行環(huán)境</p><p>  由于本系統(tǒng)系個(gè)人單獨(dú)開發(fā),綜合系統(tǒng)特點(diǎn)、開發(fā)時(shí)間等因素,采用傳統(tǒng)的開發(fā)方式—瀑布模型開發(fā)模式。從節(jié)約成本的角度考慮,開發(fā)工具選擇目前網(wǎng)站開發(fā)的主流工具JSP+Access 的組合。 </p><p>  4.1.1硬件要求 </p><p> ?。?)CPU:

53、P4 1.8GHz </p><p> ?。?)內(nèi)存:256MB 以上 </p><p>  4.1.2開發(fā)及運(yùn)行環(huán)境 </p><p> ?。?)操作系統(tǒng): Windows 2000/Windows 2003/ WindowsXP/ Windows Vista</p><p> ?。?)開發(fā)工具: JSP+Java</p>&

54、lt;p>  (3)數(shù)據(jù)庫:Microsoft Access</p><p> ?。?)服務(wù)器:Tomcat 6.0</p><p> ?。?)瀏覽器:IE 6.0 以上。 </p><p>  4.2 系統(tǒng)架構(gòu)設(shè)計(jì)</p><p>  目前,網(wǎng)絡(luò)應(yīng)用軟件的運(yùn)行模式主要有兩類:C/S模式和B/S模式。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Clien

55、t/Server形式的兩層結(jié)構(gòu),現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展;內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理;不同的應(yīng)用模塊共享邏輯組件;通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。</p><p>  C/S結(jié)構(gòu),即 Client/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)

56、構(gòu),通過將任務(wù)合理分配到Client 端和Server 端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì)。C/S之間通過任意的協(xié)議通信,一般要求有特定的客戶端。C/S程序注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮;由于整體性,必須整體考察,因此在處理出現(xiàn)的問題以及系統(tǒng)升級(jí)上難度較大。因?yàn)榭蛻舳诵枰獙?shí)現(xiàn)絕大多數(shù)的業(yè)務(wù)邏輯和界面展示。這種架構(gòu)中,作為客戶端的部分需要承受很大的壓力,因?yàn)轱@示邏輯和事務(wù)處理都包含在其中,

57、通過與數(shù)據(jù)庫的交互(通常是SQL或存儲(chǔ)過程的實(shí)現(xiàn))來達(dá)到持久化數(shù)據(jù),以此滿足實(shí)際項(xiàng)目的需要。</p><p>  B/S結(jié)構(gòu),即 Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet 技術(shù)的興起,對(duì) C/S 結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3-tier結(jié)構(gòu)。B/S結(jié)構(gòu)利用不斷成熟和普及的

58、瀏覽器技術(shù)實(shí)現(xiàn)原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。B/S模式是靠應(yīng)用層的http協(xié)議進(jìn)行通信的(當(dāng)然也要靠底層的好多協(xié)議支持),一般不需要特定的客戶端,而是需要有統(tǒng)一規(guī)范的客戶端,那就是瀏覽器。B/S架構(gòu)的優(yōu)點(diǎn)在于客戶端和服務(wù)器通過Internet 進(jìn)行數(shù)據(jù)交換,客戶端基于統(tǒng)一的 Web 瀏覽器,減少了投資,解決了系統(tǒng)維護(hù)升級(jí)的問題。另外只有極

59、少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),這也就充分保護(hù)了數(shù)據(jù)的安全。B/S架構(gòu)中,顯示邏輯交給了Web瀏覽器,事務(wù)處理邏輯在放在了WebApp上,這樣就避免了龐大的客戶端,減少了客戶端的壓力[7]。</p><p>  總的來說,B/S 結(jié)構(gòu)具有如下優(yōu)點(diǎn):無需安裝客戶端,任何一點(diǎn)都可以登錄訪問;根據(jù)權(quán)限對(duì)網(wǎng)絡(luò)拓?fù)溥M(jìn)行統(tǒng)一管理;配置文件和發(fā)現(xiàn)信息實(shí)現(xiàn)集中統(tǒng)一管理和

60、共享。由于系統(tǒng)的定位是一個(gè)網(wǎng)上購票系統(tǒng)——是一個(gè)電子商務(wù)類網(wǎng)站,傳統(tǒng)的C/S(客戶機(jī)/服務(wù)器)已不適應(yīng)。作為 Internet 上的 Web 應(yīng)用,需要的是 B/S(瀏覽器/服務(wù)器)架構(gòu)。所以本網(wǎng)站采用B/S結(jié)構(gòu)。</p><p>  4.3 相關(guān)技術(shù)介紹</p><p>  開發(fā)網(wǎng)站需要兩種工具,即前臺(tái)開發(fā)語言和后臺(tái)數(shù)據(jù)庫。本網(wǎng)站前臺(tái)開發(fā)技術(shù)使用JSP,后臺(tái)數(shù)據(jù)庫使用Microsoft

61、Access。JSP靈活方便,與后臺(tái)的Microsoft Access數(shù)據(jù)庫相結(jié)合,可以提供一個(gè)高性能的在線訂票網(wǎng)站。</p><p>  4.3.1 JSP及其特點(diǎn)</p><p>  JSP,全稱為Java Server Pages/Servlet。JSP和Servlet都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應(yīng)用體系中的一部分,

62、兩者一般需要放在一起被討論。Servlet的形式和CGI差不多,它是HTML代碼和后臺(tái)程序分開的。它們的啟動(dòng)原理也類似,都是服務(wù)器接到客戶端的請(qǐng)求后,進(jìn)行應(yīng)答。不同的是,CGI對(duì)每個(gè)客戶請(qǐng)求都打開一個(gè)進(jìn)程(Process),而Servlet卻在響應(yīng)第一個(gè)請(qǐng)求的時(shí)候被載入,一旦Servlet被載入,便處于已執(zhí)行狀態(tài)。對(duì)于以后其他用戶的請(qǐng)求,它并不打開進(jìn)程,而是打開一個(gè)線程(Thread),將結(jié)果發(fā)送給客戶。由于線程與線程之間可以通過生成自

63、己的父線程(Parent Thread)來實(shí)現(xiàn)資源共享,這樣就減輕了服務(wù)器的負(fù)擔(dān),所以,Java Servlet可以用來做大規(guī)模的應(yīng)用服務(wù)[8]。</p><p>  JSP技術(shù)主要具備以下特點(diǎn):</p><p> ?。?)將內(nèi)容的產(chǎn)生和顯式進(jìn)行分離:使用JSP技術(shù),Web開發(fā)人員可以使用HTML或者XML標(biāo)志來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)志或者小腳本來產(chǎn)生頁面上的動(dòng)態(tài)內(nèi)容。<

64、/p><p> ?。?)強(qiáng)調(diào)可重用的群組件:絕大多數(shù)JSP頁面依賴于可重用且跨平臺(tái)的組件(如:JavaBean或者Enterprise JavaBean)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或用戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。</p><p&g

65、t;  (3)采用標(biāo)志簡化頁面開發(fā):Web頁面開發(fā)人員不會(huì)都是熟悉腳本語言的程序設(shè)計(jì)人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)志中進(jìn)行動(dòng)態(tài)內(nèi)容產(chǎn)生所需要的。標(biāo)準(zhǔn)的JSP標(biāo)志能夠存取和實(shí)例化JavaBeans組件,設(shè)定或者檢索群組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。</p><p>  目前主流的網(wǎng)站開發(fā)語言有JSP、ASP、PHP等等。雖然在形式上J

66、SP和ASP或PHP看上去很相似——都可以被內(nèi)嵌在HTML代碼中。但是,它的執(zhí)行方式和ASP或PHP完全不同。在JSP被執(zhí)行的時(shí)候,JSP文件被JSP解釋器(JSP Parser)轉(zhuǎn)換成Servlet代碼,然后Servlet代碼被Java編譯器編譯成 .class 字節(jié)文件,這樣就由生成的Servlet來對(duì)客戶端應(yīng)答。所以,JSP可以看做是Servlet的腳本語言(Script Language)版。JSP和ASP相比,運(yùn)行速度、運(yùn)行開

67、銷、運(yùn)行平臺(tái)、擴(kuò)展性、安全性、函數(shù)支持、廠商支持、對(duì)XML的支持等等, JSP的優(yōu)點(diǎn)都是ASP無法比擬的。采用PHP的網(wǎng)站也有很多,如新浪網(wǎng)(sina)、中國人(Chinaren)等,但由于PHP本身存在的一些缺點(diǎn),使得它不適合應(yīng)用于大型電子商務(wù)站點(diǎn),而更適合一些小型的商業(yè)站點(diǎn)。首先,PHP缺乏規(guī)模支持;其次,它缺乏多層結(jié)構(gòu)支持。對(duì)于大負(fù)荷站點(diǎn),解決方法只有一個(gè):分布計(jì)算。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分

68、開,群組成二維數(shù)組。而PHP則缺乏這種支持。還有十分重</p><p>  由于JSP/Servlet都是基于Java的,所以它們也具備Java語言的最大優(yōu)點(diǎn)——平臺(tái)無關(guān)性,也就是所謂的“一次編寫,隨處運(yùn)行(WORA – Write Once, Run Anywhere)”。除了這個(gè)優(yōu)點(diǎn),JSP/Servlet的效率以及安全性也是相當(dāng)驚人的。因此,JSP/Servlet雖然在國內(nèi)目前的應(yīng)用并不廣泛,但是其前途不可

69、限量。在調(diào)試JSP代碼時(shí),如果程序出錯(cuò),JSP服務(wù)器會(huì)返回出錯(cuò)信息,并在瀏覽器中顯示。隨著越來越多的的供貨商將JSP支持加入到他們的產(chǎn)品中,用戶可以使用自己所選擇的服務(wù)器和工具,修改工具和服務(wù)器并不影響目前的應(yīng)用。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用,作為采用Java技術(shù)家族的一部分,以及J2EE的一個(gè)成員,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。</p>

70、;<p>  4.3.2 JavaBean</p><p>  JavaBean是一種基于Java的軟件組件,JavaBean和ActiveX控件一樣,可以通過封裝業(yè)務(wù)邏輯建立一整套可重復(fù)利用的對(duì)象庫。JSP對(duì)于在Web應(yīng)用中集成JavaBean組件提供了完善的支持。這種支持不僅能縮短開發(fā)時(shí)間(可以直接利用經(jīng)過測試和可信任的已有組件),避免重復(fù)開發(fā),也為JSP應(yīng)用帶來了更多的可伸縮性。JavaBea

71、n組件可以用來執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫的交互與數(shù)據(jù)提取等。</p><p>  4.3.3 Microsoft Access及其特點(diǎn)</p><p>  Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之一[9]。一般電腦均會(huì)安裝,應(yīng)用廣

72、泛。它提供了表、查詢、窗體、報(bào)表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對(duì)象,并且提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化,為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access的優(yōu)點(diǎn)具體有以下幾點(diǎn):</p><p> ?。?)存儲(chǔ)方式單一:Access管理的對(duì)象有表、查詢、窗體、報(bào)表、頁、宏和模塊這7種,以上對(duì)象

73、都存放在后綴為(.mdb)的數(shù)據(jù)庫文件種,便于用戶的操作和管理。 </p><p>  (2)面向?qū)ο螅篈ccess是一個(gè)面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各種功能對(duì)象化,將數(shù)據(jù)庫管理的各種功能封裝在各類對(duì)象中。它將一個(gè)應(yīng)用系統(tǒng)當(dāng)作是由一系列對(duì)象組成的,對(duì)每個(gè)對(duì)象它都定義一組方法和屬性,以定義該對(duì)象的行為和特征,用戶還可以按需要給對(duì)象擴(kuò)展方法和屬性。通過對(duì)象的方法、屬性完成數(shù)據(jù)庫的操作和管理,

74、極大地簡化了用戶的開發(fā)工作。同時(shí),這種基于面向?qū)ο蟮拈_發(fā)方式,使得開發(fā)應(yīng)用程序更為簡便。</p><p> ?。?)界面友好、易操作:Access是一個(gè)可視化工具,其風(fēng)格與Windows完全一樣,用戶想要生成對(duì)象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報(bào)表設(shè)計(jì)器以及數(shù)據(jù)庫向?qū)?、表向?qū)А⒉樵兿驅(qū)?、窗體向?qū)?、?bào)表向?qū)У裙ぞ撸沟貌僮骱啽?,容易使用和掌握?</p>

75、<p>  (4)集成環(huán)境、處理多種數(shù)據(jù)信息:Access基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ?,極大地提高了開發(fā)人員的工作效率,使得建立數(shù)據(jù)庫、創(chuàng)建表、設(shè)計(jì)用戶界面、設(shè)計(jì)數(shù)據(jù)查詢、報(bào)表打印等可以方便有序地進(jìn)行。 </p><p> ?。?)Access支持ODBC:利用Access強(qiáng)大的DDE(動(dòng)態(tài)數(shù)據(jù)交換)和OLE(對(duì)象的聯(lián)接和嵌入)特性,可以在一個(gè)數(shù)據(jù)表中

76、嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動(dòng)態(tài)的數(shù)據(jù)庫報(bào)表和窗體等。Access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動(dòng)態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫訪問頁對(duì)象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。</p><p>  4.3.4 Tomcat</p><p>  Tomcat是APACHE JAKARTA軟件組織的一個(gè)子項(xiàng)目,TOMCAT是一個(gè)JSP/

77、SERVLET容器,它是在SUN公司的JSWDK(JAVA SERVER WEB DEVELOPMENT KIT)基礎(chǔ)上發(fā)展起來的一個(gè)JSP和SERVLET規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),使用TOMCAT可以體驗(yàn)JSP和SERVLET的最新規(guī)范。經(jīng)過多年的發(fā)展,Tomcat不僅是JSP和SERVLET規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),而且具備了很多商業(yè)JAVA SERVLET容器的特性,并被一些企業(yè)用于商業(yè)用途。 </p><p>  Tomca

78、t服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器。因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定且免費(fèi),所以深受Java程序開發(fā)者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。</p><p>  Tomcat是提供一個(gè)支持Servlet和JSP運(yùn)行的容器。Servlet和JSP能根據(jù)實(shí)時(shí)需要,產(chǎn)生動(dòng)態(tài)網(wǎng)頁內(nèi)容。而對(duì)于Web服務(wù)器來說,Apache僅僅支持靜態(tài)網(wǎng)頁,對(duì)于支持動(dòng)態(tài)網(wǎng)頁就會(huì)顯得無能為力;

79、Tomcat則既能為動(dòng)態(tài)網(wǎng)頁服務(wù),同時(shí)也能為靜態(tài)網(wǎng)頁提供支持。盡管它沒有通常的Web服務(wù)器快、功能也不如Web服務(wù)器豐富,但是Tomcat逐漸為支持靜態(tài)內(nèi)容不斷擴(kuò)充。大多數(shù)的Web服務(wù)器都是用底層語言編寫如C語言,利用了相應(yīng)平臺(tái)的特征,因此用純Java編寫的Tomcat執(zhí)行速度不可能與它們相提并論。</p><p>  一般來說,大的站點(diǎn)都是將Tomcat與Apache的結(jié)合,Apache負(fù)責(zé)接受所有來自客戶端的

80、HTTP請(qǐng)求,然后將Servlets和JSP的請(qǐng)求轉(zhuǎn)發(fā)給Tomcat來處理。Tomcat完成處理后,將響應(yīng)傳回給Apache,最后Apache將響應(yīng)返回給客戶端。</p><p>  4.3.5 數(shù)據(jù)庫連接</p><p>  Access作為關(guān)系型桌面數(shù)據(jù)庫管理系統(tǒng),在建立中、小型的數(shù)據(jù)庫管理網(wǎng)站中得到了廣泛的應(yīng)用。因此,為了建立與數(shù)據(jù)庫的連接,可以通過三種方式:建立DSN、使用非DSN

81、和OLE DB。在本網(wǎng)站設(shè)計(jì)過程中,通過JDBC-ODBC橋連接Access數(shù)據(jù)庫[10]。</p><p>  ODBC是一種訪問數(shù)據(jù)庫的方法,只要系統(tǒng)中有相應(yīng)的ODBC驅(qū)動(dòng)程序,任何程序就可以通過ODBC驅(qū)動(dòng)程序操縱數(shù)據(jù)庫。在給ODBC驅(qū)動(dòng)程序傳遞SQL指令時(shí),用的就是DSN來告訴它到底操作的是哪一個(gè)數(shù)據(jù)庫。由此可見,DSN是應(yīng)用程序和數(shù)據(jù)庫之間的橋梁。要通過ODBC訪問數(shù)據(jù)庫,前提是必須配置好DSN。因此,

82、一個(gè)DSN必須包含一些信息,DSN的名字就是給這座橋取的名字,當(dāng)在程序中訪問數(shù)據(jù)庫時(shí),給系統(tǒng)傳的就是這個(gè)名字,而不是數(shù)據(jù)庫的實(shí)際名稱。所以,在操縱數(shù)據(jù)庫時(shí),系統(tǒng)才會(huì)知道調(diào)用哪個(gè)ODBC驅(qū)動(dòng)程序來服務(wù)。</p><p>  SUN的JDK中自帶了用來連接ODBC數(shù)據(jù)源的JDBC驅(qū)動(dòng),寫法為:</p><p>  Class.forName( "sun.jdbc.odbc.JdbcO

83、dbcDriver" );Connection cn = DriverManager.getConnection( "jdbc:odbc:數(shù)據(jù)源名", “用戶名”, "口令" );</p><p>  JDBC-ODBC 橋是一個(gè)JDBC 驅(qū)動(dòng)程序,對(duì)ODBC 而言, 它像是通用的應(yīng)用程序,橋?yàn)樗羞m用于ODBC 的數(shù)據(jù)庫實(shí)現(xiàn)JDBC。它作為sun.jdbc.o

84、dbc 包實(shí)現(xiàn),其中包含一個(gè)用來訪問ODBC 的本地庫。由于ODBC 被廣泛地使用,所以橋的優(yōu)點(diǎn)是讓JDBC 能夠訪問幾乎所有的數(shù)據(jù)庫。橋支持ODBC 2.X,這也是當(dāng)前大多數(shù)據(jù)ODBC 驅(qū)動(dòng)程序支持的版本。橋驅(qū)動(dòng)程序?yàn)镴ava 應(yīng)用程序提供了一種把JDBC 調(diào)用映射為ODBC 調(diào)用的方法。因此,需要在客戶端機(jī)器上安裝ODBC 驅(qū)動(dòng)。JDBC-ODBC 橋在JDBC API 和ODBC API之間提供了一個(gè)橋梁,這個(gè)橋把標(biāo)準(zhǔn)的JDBC

85、調(diào)用翻譯成對(duì)應(yīng)的ODBC 調(diào)用,然后通過ODBC 庫把它們發(fā)送到ODBC 數(shù)據(jù)源。</p><p>  JDBC- ODBC (Open Database Connectivity,ODBC) 橋驅(qū)動(dòng)程序由Sun 與Merant公司聯(lián)合開發(fā),主要功能是把JDBC API調(diào)用轉(zhuǎn)換成ODBC API 調(diào)用,然后ODBC API調(diào)用針對(duì)供應(yīng)商的ODBC 驅(qū)動(dòng)程序來訪問數(shù)據(jù)庫, 即利用JDBC- ODBC 橋通過ODBC

86、來存儲(chǔ)數(shù)據(jù)源,如圖4-1所示。</p><p>  橋作為包sun.jdbc.odbc 與JDK 一起自動(dòng)安裝,無需特殊配置。Java2SDK 類庫中包含了用于JDBC-ODBC橋接驅(qū)動(dòng)程序的類, 因此不再需要安裝任何附加包就可以使用。但是客戶機(jī)需要通過生成數(shù)據(jù)源名(Data Source Names , DSN)來配置ODBC 管理器。DSN 是一個(gè)把數(shù)據(jù)庫、驅(qū)動(dòng)程序、一些可選的設(shè)置連接起來的命名配置。<

87、/p><p><b>  5 系統(tǒng)實(shí)現(xiàn)與運(yùn)行</b></p><p>  根據(jù)需求分析及系統(tǒng)設(shè)計(jì)情況,結(jié)合JSP、Access的特點(diǎn)開發(fā)出了電影票預(yù)定網(wǎng)站,在進(jìn)行編碼測試之后,網(wǎng)站實(shí)現(xiàn)了上面分析的基本功能。在滿足運(yùn)行環(huán)境的條件下,對(duì)系統(tǒng)主要功能的實(shí)現(xiàn)及運(yùn)行界面介紹如下。</p><p>  5.1 登錄頁面的實(shí)現(xiàn)</p><p&

88、gt;  登錄頁面命名為Login,其運(yùn)行效果圖如圖5-1所示。</p><p>  圖5-1 登錄頁面運(yùn)行效果圖</p><p>  登錄頁面的主要功能是驗(yàn)證用戶是否合法,它包含登錄和注冊(cè)兩個(gè)子模塊。在用戶輸入完用戶名和密碼之后,程序會(huì)將用戶名和密碼與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行比對(duì),如果用戶名與密碼錯(cuò)誤,或與用戶身份不符,系統(tǒng)會(huì)給予提示,要求重新登錄。普通用戶與管理員的權(quán)限不同,user表中,R

89、ole屬性值為0的是普通用戶;Role屬性值為1的是管理員。普通用戶進(jìn)入的是網(wǎng)站前臺(tái)頁面,而管理員進(jìn)入的是網(wǎng)站后臺(tái)頁面。如果還不是網(wǎng)站用戶,需要先注冊(cè)。登錄頁面在主頁面之前彈出,以確保程序安全性。新用戶注冊(cè)頁面命名為register,如圖5-2所示。</p><p>  用戶名的長度必須在1~20位之間,密碼長度應(yīng)大于6位。為確保訂票人身份的真實(shí)性,加強(qiáng)票務(wù)訂購管理,注冊(cè)時(shí)要求必須填寫個(gè)人真實(shí)電話和地址。如果用戶

90、信息輸入完整、正確且符合要求,系統(tǒng)會(huì)將用戶信息存入到數(shù)據(jù)庫中,否則提示錯(cuò)誤信息并要求用戶重新輸入。</p><p>  5.2 前臺(tái)頁面的實(shí)現(xiàn)</p><p>  網(wǎng)站前臺(tái)頁面需要簡潔明了,外觀大方,突出重點(diǎn),體現(xiàn)出易操作性。用戶可以根據(jù)自己的需求,通過菜單來使用各項(xiàng)功能,讓用戶可以更加快速,簡單地進(jìn)行操作。網(wǎng)站首頁在設(shè)計(jì)上應(yīng)盡量簡潔且能夠突出重點(diǎn),網(wǎng)站的整體風(fēng)格應(yīng)該能夠讓消費(fèi)者產(chǎn)生愉悅的

91、心情。因此在網(wǎng)站前臺(tái)頁面的設(shè)計(jì)上采用了色彩較為歡快的色彩風(fēng)格。該頁面上放置了“查看電影信息”、“購物車管理”、“給電影評(píng)價(jià)”和“修改個(gè)人信息”四個(gè)模塊,這樣用戶在進(jìn)入網(wǎng)站時(shí)就能根據(jù)自己的需要選擇自己感興趣的模塊。如果不需要進(jìn)行操作或切換用戶,直接單擊“退出”即可。為方便用戶瀏覽上映電影的信息,在他們進(jìn)入前臺(tái)頁面時(shí)時(shí)默認(rèn)顯示的為“電影信息”頁面。</p><p>  網(wǎng)站前臺(tái)頁面命名為shop,其運(yùn)行效果圖如圖5-

92、3所示。</p><p>  圖5-2 用戶注冊(cè)頁面運(yùn)行效果圖</p><p>  圖5-3 網(wǎng)站前臺(tái)頁面</p><p>  將電影添加到購物車是購票網(wǎng)站前臺(tái)的核心功能。網(wǎng)站中的購物車模仿現(xiàn)實(shí)中的購物車,存放用戶選擇的電影,用戶可以根據(jù)自己的需求增加、清除購物車中的電影票。綜上分析,在實(shí)現(xiàn)時(shí)采用 SESSION 標(biāo)識(shí) ID 將當(dāng)前的用戶和購物車之間關(guān)聯(lián)起來。在用戶

93、表中,設(shè)置了“等級(jí)”(rank)這個(gè)屬性,它用于判斷用戶的級(jí)別。凡是在本網(wǎng)站購票成功一次,用戶等級(jí)便加1。當(dāng)用戶等級(jí)小于5時(shí),屬于網(wǎng)站的普通用戶,普通用戶預(yù)定電影票不能選擇具體座位,只能根據(jù)個(gè)人喜好選擇大體方位,如前排、中間或后排,若預(yù)定兩張以上電影票可以選擇座位是否連續(xù),具體座位由系統(tǒng)根據(jù)個(gè)人喜好自動(dòng)分配。當(dāng)用戶等級(jí)大于或等于5時(shí),屬于網(wǎng)站的星級(jí)用戶,星級(jí)用戶在預(yù)定電影票時(shí)便可以選擇具體座位,但對(duì)于系統(tǒng)已經(jīng)分配好的座位,星級(jí)用戶是不可

94、選的。這種座位分配方法是由順序算法得到的,如果普通用戶喜歡前排的座位,那么系統(tǒng)從第一排A1開始分配,遇到已經(jīng)分配好的座位,系統(tǒng)會(huì)自動(dòng)跳過,不會(huì)進(jìn)行二次分配。如果用戶需要連續(xù)座位,系統(tǒng)也會(huì)按照順序分配連續(xù)的位置,若沒有滿足條件的位置剩余,系統(tǒng)會(huì)提示分配失敗。系統(tǒng)分配座位的具體算法分析如下: </p><p>  public String getSeats(String qh,int num,boolean con

95、t)</p><p> ?。?)參數(shù) String qh 表示前后排喜好的選擇,可選值”front”,”middle”,”back”,分別指前排、中間、后排。</p><p> ?。?)參數(shù) int num 表示訂購的票的張數(shù),取正整數(shù)。</p><p> ?。?)參數(shù) boolean cont表示是否要求訂購連續(xù)的座位,true 表示要求連續(xù),false表示不要求

96、連續(xù)。</p><p>  座位用整形數(shù)組seatTable[5][10]來表示,數(shù)組共5行10列,取值1表示該行被預(yù)訂,取值0表示未被預(yù)訂,訂購的座位號(hào)用字符串?dāng)?shù)組rs[num]來表示,共num個(gè)元素,取值為訂購的座位號(hào),如“A10”。</p><p>  以用戶選擇前排座位為例,若訂購票得數(shù)量大于等于2且要求座位不連續(xù)時(shí),從頭開始遍歷,碰到空座位生成座位字符串后填入到rs數(shù)組里。若rs

97、數(shù)組滿則分配成功,若遍歷到最后rs數(shù)組未被填滿則分配失敗。算法描述如下:</p><p>  if(qh.equals("front"))</p><p><b>  {</b></p><p>  int j=0; </p><p>  for(int i=0; i<50 &&

98、amp; j<num; i++) // 遍歷,若到數(shù)組尾或rs表被填滿跳出循環(huán)</p><p><b>  { </b></p><p>  if(this.seatTable[i/10][i%10]= =0) // 該座位未被使用</p><p>  { // 得到當(dāng)前的行</p><p>

99、  int i_row=i/10+'A'; // 將行轉(zhuǎn)化為字母,如第一行轉(zhuǎn)化為‘A’</p><p>  char c=(char)i_row;</p><p>  rs[j]=Character.toString(c); // 將行字符串填入rs</p><p>  int i_col=i%10+1; // 得到當(dāng)前的列</

100、p><p>  rs[j]+=Integer.toString(i_col);// 將列字符串填入rs</p><p>  j++; //rs的索引值加一</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(j!=num

101、) //分配失敗</p><p>  return "分配失敗,請(qǐng)重新設(shè)定條件!";</p><p><b>  }</b></p><p>  若訂購票得數(shù)量大于等于2且要求座位連續(xù)時(shí),從頭開始遍歷,beg記錄第一個(gè)空座位,初值為0,last記錄還需要分配的連續(xù)座位數(shù),初值為num。每當(dāng)遇到空座位時(shí),last減1,las

102、t為0時(shí)表示分配成功,分配以beg-1為結(jié)束的連續(xù)num個(gè)座位。每當(dāng)遇到已被售出的座位時(shí),last重置為num,beg置為下一位置。遍歷到表尾尚未分配成功則表示分配失敗。算法描述如下:</p><p>  int beg=0;int last=num;</p><p>  if(qh.equals("front"))</p><p>  {

103、 //未分配成功且未遍歷完則繼續(xù)遍歷</p><p>  while(beg<50&&last!=0)</p><p><b>  { </b></p><p>  if(this.seatTable[beg/10][beg%10]==0) //遇到空座位</p><p><b>

104、;  last--; </b></p><p>  else //遇到被售出的座位</p><p><b>  last=num;</b></p><p><b>  beg++;</b></p><p><b>  }</b></p><p&

105、gt;  if(beg==50) //分配失敗</p><p>  return "分配失敗,請(qǐng)重新設(shè)定條件!";</p><p>  else //分配成功,此時(shí)beg指向被分配的座位的下一個(gè)位置</p><p>  { //分配索引值從beg-num開始到beg-1的所有座位</p><p>  for(i

106、nt i=beg-num,j=0;i<beg;i++,j++)</p><p><b>  {</b></p><p>  int i_row=i/10+'A';</p><p>  char c=(char)i_row;</p><p>  rs[j]=Character.toString(c);

107、</p><p>  int i_col=i%10+1;</p><p>  rs[j]+=Integer.toString(i_col);</p><p><b>  }</b></p><p><b>  }</b></p><p>  購物車功能實(shí)現(xiàn)的效果圖

108、如圖5-4和圖5-5所示,分為普通用戶和星級(jí)用戶購物車。紅色標(biāo)記出的表示已經(jīng)分配好的座位。普通用戶在團(tuán)購電影票(一次購買數(shù)量不小于20)時(shí)會(huì)給予價(jià)格優(yōu)惠,在原價(jià)的基礎(chǔ)上打八折,即為原價(jià)的80%。</p><p>  圖5-4 普通用戶購物車運(yùn)行效果圖</p><p>  圖5-5 星級(jí)用戶購物車運(yùn)行效果圖</p><p>  5.3 后臺(tái)頁面的實(shí)現(xiàn)</p>

109、;<p>  網(wǎng)站后臺(tái)管理頁面命名為manage,其運(yùn)行效果圖如圖5-6所示。</p><p>  圖5-6 網(wǎng)站后臺(tái)頁面</p><p>  網(wǎng)站后臺(tái)管理頁面也要體現(xiàn)出易操作性,使管理員的工作更加快捷方便,更要給人以穩(wěn)重之感,所以選擇沉穩(wěn)的藍(lán)色色調(diào)。該頁面上放置了“電影管理”、“訂單管理”和“用戶管理”和“評(píng)價(jià)管理”四個(gè)模塊,這樣管理員在進(jìn)入網(wǎng)站時(shí)就能根據(jù)自己的需要選擇相應(yīng)

溫馨提示

  • 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)論