web應(yīng)用技術(shù)課程設(shè)計(jì)(圖書管理系統(tǒng))畢業(yè)論文_第1頁
web應(yīng)用技術(shù)課程設(shè)計(jì)(圖書管理系統(tǒng))畢業(yè)論文_第2頁
web應(yīng)用技術(shù)課程設(shè)計(jì)(圖書管理系統(tǒng))畢業(yè)論文_第3頁
web應(yīng)用技術(shù)課程設(shè)計(jì)(圖書管理系統(tǒng))畢業(yè)論文_第4頁
web應(yīng)用技術(shù)課程設(shè)計(jì)(圖書管理系統(tǒng))畢業(yè)論文_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 . . . Web應(yīng)用技術(shù)課程設(shè)計(jì)報(bào)告 學(xué) 院:管理學(xué)院專 業(yè):學(xué)號: 指導(dǎo)教師:日 期:2012.06.26一、 系統(tǒng)簡介(系統(tǒng)開發(fā)的背景、目的、意義等)二、 系統(tǒng)分析2.1 現(xiàn)狀與存在的不足2.2功能需求2.3 流程需求2.4其他三、 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)設(shè)計(jì)的目標(biāo)3.2 系統(tǒng)功能模塊設(shè)計(jì)3.3 數(shù)據(jù)庫設(shè)計(jì)(ER圖等)3.4 其他設(shè)計(jì)(如編碼設(shè)計(jì)等)四、 系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)采用的技術(shù)說明4.2 主要功能的實(shí)現(xiàn)代碼和界面4.3 javabean的相關(guān)說明五、 系統(tǒng)部署說明(環(huán)境配置、數(shù)據(jù)源等)六、 代表性窗口與測試報(bào)告l 測試l 測試流程七、 用戶使用說明八、 課程設(shè)計(jì)小結(jié)l 本系統(tǒng)的評

2、價(jià)l 課程設(shè)計(jì)的收獲與不足31 / 31一系統(tǒng)簡介JAVA語言是目前Internet上大型的WEB應(yīng)用程序開發(fā)時(shí)使用得最熱門的編程語言,本文描述了JAVA和JSP技術(shù)的特點(diǎn)以與在互聯(lián)網(wǎng)上的使用情況,介紹這兩種技術(shù)的重要編程方法和兩者之關(guān)的聯(lián)系,同時(shí)也會應(yīng)用相關(guān)的Struts框架,并完成一個基于這種技術(shù)的網(wǎng)上書店系統(tǒng)。關(guān)鍵字JAVA, Servlet, JSP, 網(wǎng)絡(luò)編程, 電子商務(wù), 網(wǎng)上書店JAVA的網(wǎng)絡(luò)功能與編程1-1  JAVA語言簡介Java是一種簡單易用、完全面向?qū)ο?、具有平臺無關(guān)性且安全可靠的主要面向Internet的開發(fā)工具。自從1995年正式問世以來,Jav

3、a的快速發(fā)展已經(jīng)讓整個Web世界發(fā)生了翻天覆地的變化。在早期,Java比較多的用在瀏覽器上,插入到網(wǎng)頁中(即是Java Applet程序),成為最靈活、最強(qiáng)大的網(wǎng)頁多媒體的載體,但由于Java虛擬機(jī)相對于個人電腦而言,有占用資源大,安全性相對較差等缺點(diǎn),Applet逐漸的被后起之秀Flash所替代,但隨著Java Servlet的推出,Java在電子商務(wù)方面開始嶄露頭角,最新的JSP(Java Server Page)技術(shù)的推出,更是讓Java成為基于Web的應(yīng)用程序的首選開發(fā)工具,目前的Java技術(shù)已成為所有大型電子商務(wù)項(xiàng)目的必然選擇。1-2 JAVA語言在網(wǎng)絡(luò)上的應(yīng)用Java程序可以獲取網(wǎng)

4、絡(luò)上結(jié)點(diǎn)的圖象、聲音、HTML文檔與文本等資源,并可以對獲得的資源進(jìn)行處理。例如Java程序可以每隔一定時(shí)間讀取某結(jié)點(diǎn)提供的最新數(shù)據(jù),并以圖表的形式顯示出來。在編程處理上,一般先生成一個URL類型的對象,然后用 Java中相應(yīng)的方法(method)獲取該對象所代表的資源。1-3 JSP的基礎(chǔ)Servlet 技術(shù)Java Servlet是JSP技術(shù)的基礎(chǔ),JSP本身就是預(yù)先被編譯成Servlet,然后再運(yùn)行的,而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成,Servlet這個名稱大概源于Applet,現(xiàn)在國的翻譯方式很多,本文為了避免誤會,本文直接采用Servle

5、t這個名稱而不做任何翻譯,讀者如果愿意,可以稱之為“小服務(wù)程序”。Servlet其實(shí)和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開發(fā)工具的作用是一樣的,在使用Java Servlet以后,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個固定Web服務(wù)器平臺運(yùn)行的API方式來動態(tài)生成Web頁面。許多Web服務(wù)器都支持Servlet,即使不直接支持Servlet的Web服務(wù)器也可以通過附加的應(yīng)用服務(wù)器和模塊來支持Servlet。得益于Java的跨平臺的特性,Servlet也是平臺無關(guān)的,實(shí)際上,只要符合Java Servlet規(guī),Servlet是完全平臺無關(guān)且是Web服務(wù)器無關(guān)的

6、。由于Java Servlet部是以線程方式提供服務(wù),不必對于每個請求都啟動一個進(jìn)程,并且利用多線程機(jī)制可以同時(shí)為多個請求服務(wù),因此Java Servlet效率非常高。但Java Servlet也不是沒有缺點(diǎn),和傳統(tǒng)的CGI、ISAPI、NSAPI方式一樣,Java Servlet是利用輸出HTML語句來實(shí)現(xiàn)動態(tài)網(wǎng)頁的,如果用Java Servlet來開發(fā)整個,動態(tài)部分和靜態(tài)頁面的整合過程簡直就是一場噩夢。這就是為什么SUN還要推出Java Server Pages的原因。 MVC簡介模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計(jì)模式,現(xiàn)在已經(jīng)被廣泛的使用。1

7、、模型(Model)模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯.2、視圖(View)視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。3、控制器(controller)控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對象狀態(tài)。MVC式的出現(xiàn)不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性早期的程序中,如果不注意對數(shù)功能和顯示的解耦合,常常會導(dǎo)致程序的復(fù)雜與難以維護(hù)。很多VB,Delphi等RAD程序都有這種問題。甚至現(xiàn)在的C#,Java有時(shí)候也會出現(xiàn)把業(yè)務(wù)邏輯寫在顯示模塊中的現(xiàn)象管MVC設(shè)計(jì)模

8、式很早就提出,但在Web項(xiàng)目的開發(fā)中引入MVC卻是步履維艱。主要原因:一是在早期的Web項(xiàng)目的開發(fā)中,程序語言和HTML的分離一直難以實(shí)現(xiàn)。CGI程序以字符串輸出的形式動態(tài)地生成HTML容。后來隨著腳本語言的出現(xiàn),前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在HTML容中。這兩種方式有一個一樣的不足之處即它們總是無法將程序語言和HTML分離。二是腳本語言的功能相對較弱,缺乏支持MVC設(shè)計(jì)模式的一些必要的技術(shù)基礎(chǔ)。直到基于J2EE的JSPModel 2問世時(shí)才得以改觀。它用JSP技術(shù)實(shí)現(xiàn)視圖的功能,用Servlet技術(shù)實(shí)現(xiàn)控制器的功能,用JavaBean技術(shù)實(shí)現(xiàn)模型的功能JSP Mode

9、l 1 與 JSP Model 2SUN在JSP出現(xiàn)早期制定了兩種規(guī),稱為Model1和Model2。雖然Model2在一定程度上實(shí)現(xiàn)了MVC,但是它的應(yīng)用用并不盡如人意JSP Model 1 二需求分析 網(wǎng)上書店系統(tǒng)主要是實(shí)現(xiàn)網(wǎng)上選書、購書、產(chǎn)生訂單等功能的系統(tǒng)。一個典型的網(wǎng)上商城一般都需要實(shí)現(xiàn)商品信息的動態(tài)提示、購物車管理、客戶信息注冊登錄管理、訂單處理等模塊。根據(jù)網(wǎng)上書店的基本需求,本系統(tǒng)需要完成的具體任務(wù)如下:A. 書圖查詢: 當(dāng)客戶進(jìn)入網(wǎng)上書店時(shí),應(yīng)該在主頁面中分類顯示最新的書目信息,以供客戶選擇所需圖書,同時(shí)也應(yīng)該提供按照圖書名稱,或者作者信息快速查詢所需書目信息的功能。B. 購物

10、車管理:當(dāng)客戶選擇購買某圖書產(chǎn)品時(shí),應(yīng)該能夠?qū)?yīng)圖書信息,如:價(jià)格、數(shù)量記錄到對應(yīng)的購物車中,并允許客戶返回書目查詢頁面,選擇其他商品,并添加到購物車中,當(dāng)對應(yīng)的購物訂單生成后,應(yīng)該能夠自動清除以生成訂單的購物車中的信息。C. 訂單處理:對應(yīng)客戶購買圖書商品信息的需求,在確定了所購圖書商品的價(jià)格、數(shù)量等信息后,提示用戶選擇對應(yīng)的送貨方式與付款方式,最終生成對應(yīng)的訂單記錄,以便于配貨人員依據(jù)訂單信息進(jìn)行后續(xù)的出貨、送貨的處理。D. 會員注冊:為了能夠?qū)崿F(xiàn)圖書商品的購買,需要管理客戶相關(guān)的聯(lián)系方式、送貨地點(diǎn)等相關(guān)的信息。功能性需求功能性需求分析是指對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面

11、的期望。需求分析是軟件設(shè)計(jì)、實(shí)現(xiàn)測試直至維護(hù)的主要基礎(chǔ),良好的需求分析可以避免或盡早提出早期的錯誤,從而降低軟件的開發(fā)成本,改進(jìn)軟件的質(zhì)量。需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象,充分了解系統(tǒng)的工作概況,明確各種功能需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變3。系統(tǒng)對數(shù)據(jù)的安全性、完整性要求表現(xiàn)在:用戶信息,只有管理員可見(可查),但不能任意修改。確保用戶信息安全。此外,圖書信息、用戶信息必須保證其完整性,防止惡意刪改。以下是系統(tǒng)性能需求:(1)準(zhǔn)確性和可靠性高。(2)頁面友好,功能齊全,且可以方便使用。三系統(tǒng)設(shè)計(jì)3.1 總體設(shè)計(jì)目標(biāo)用戶通過使用本系

12、統(tǒng),可以隨時(shí)根據(jù)需要,查詢上映圖書信息,對圖書中的個人信息進(jìn)行修改,并可以根據(jù)個人喜好提前預(yù)定圖書,避免了現(xiàn)場排隊(duì)之苦,同時(shí)也減少書店方面的人力和物力的投資。作為一個在線購書,除了要功能強(qiáng)大、操作簡單、符合上述需求分析,還應(yīng)實(shí)現(xiàn)其他目標(biāo),以適用于各類城市影院,具體要求如下:(1)界面在設(shè)計(jì)上要美觀、友好,操作要快捷、準(zhǔn)確;(2)數(shù)據(jù)存儲要安全可靠;(3)注冊用戶可以隨時(shí)修改個人信息;(4)對于用戶輸入的數(shù)據(jù),系統(tǒng)要有嚴(yán)格的檢錯機(jī)制,盡可能排除人為錯誤;(5)系統(tǒng)要最大限度的實(shí)現(xiàn)易維護(hù)性,運(yùn)行要穩(wěn)定、可靠、安全。3.2 功能模塊設(shè)計(jì)概念模型是信息管理系統(tǒng)設(shè)計(jì)中較早卻相當(dāng)重要的一步,為了全面獲取本

13、系統(tǒng)的概念模型,首先需要分析整個的操作流程。以用戶在購票體驗(yàn)上盡量接近一般網(wǎng)購方式為出發(fā)點(diǎn),在設(shè)計(jì)上應(yīng)使購票流程盡量貼近人們平時(shí)的網(wǎng)購習(xí)慣。因此,可以得到用戶登錄進(jìn)行購票的流程圖,如圖3-1所示。網(wǎng) 站 前 臺 圖書瀏覽、購買修改購物車給圖書評價(jià)修改個人信息用 戶 登 錄結(jié) 束 退 出繼續(xù)操作圖3-1 前臺管理流程圖是否是否網(wǎng)站用戶注冊新用戶是否從管理員角度來看,管理員進(jìn)入后臺選擇相應(yīng)的功能,操作結(jié)束后,仍可以進(jìn)行其他操作,或者沒有操作時(shí)退出。后臺管理流程如圖3-2所示。后 臺 登 錄圖 書 管 理訂 單 管 理用 戶 管 理評 價(jià) 管 理管理員結(jié) 束 退 出繼續(xù)操作圖3-2 后臺管理流程圖是

14、否整個系統(tǒng)的處理流程如下:(1)用戶進(jìn)入登錄頁面,身份驗(yàn)證:普通用戶和管理員的權(quán)限有所不同。(2)正常進(jìn)入:身份核實(shí)無誤后,按權(quán)限的不同,普通用戶進(jìn)入前臺,管理員進(jìn)入后臺。(3)執(zhí)行各任務(wù):根據(jù)各自需求,進(jìn)行各項(xiàng)操作。(4)一任務(wù)執(zhí)行完畢后重新返回主頁:執(zhí)行任務(wù)后回到主頁能夠保證操作的條理性。(5)執(zhí)行完畢,退出:若所要執(zhí)行的任務(wù)全部完成,即可退出。為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成這個系統(tǒng)的所有程序、文件以與數(shù)據(jù)庫。模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序設(shè)計(jì)對象的集合,它是單獨(dú)命名的而且可通過名字來訪問。模塊化就是把程序化分成若干個模塊,每個模塊完成一個子功能,把這些模塊集起來組成一個整體,可以

15、完成指定的滿足問題的要求4。通過以上流程分析,可以進(jìn)一步設(shè)計(jì)出圖書票預(yù)訂的總體結(jié)構(gòu)模塊圖,分別從用戶和管理員兩個不同的角度去設(shè)計(jì),如圖3-3所示。重新驗(yàn)證圖3-3 系統(tǒng)總體結(jié)構(gòu)圖退出系統(tǒng)身份驗(yàn)證進(jìn)入系統(tǒng)后臺修 改 個 人 信 息圖 書 管 理 訂 單 管 理 用 戶 管 理 查 看 圖 書 信 息購 物 車 管 理給 圖 書 評 價(jià)評 價(jià) 管 理進(jìn)入系統(tǒng)前臺(1)用戶模塊:在本中,所有的用戶在訪問的時(shí)候均可以瀏覽查看圖書信息、將圖書加入購物車、查看購物車刪除影票、給圖書做出評價(jià)、修改個人基本信息。其功能結(jié)構(gòu)模塊圖如圖3-4所示。用戶登錄圖 書 信 息購物車信息圖 書 評 價(jià)個 人 信 息瀏覽上

16、映圖書信息圖3-4 圖書網(wǎng)站前臺功能模塊圖將圖書加入購物車查 看 購 物 車刪除已訂購給圖書做出評價(jià)確認(rèn)個人信息修改個人信息(2)管理模塊:在本中,管理員除了要進(jìn)行相關(guān)信息的維護(hù)還有如下主要工作:定時(shí)查看圖書評價(jià)信息,審查用戶的評價(jià)是否具有合法性,刪除惡意評價(jià);定期對系統(tǒng)數(shù)據(jù)庫進(jìn)行備份,確保數(shù)據(jù)安全;與時(shí)更新新上映圖書的信息,刪除圖書的信息等等。管理員通過后臺登錄,為確保系統(tǒng)的安全性,管理員后臺登錄會進(jìn)行密碼權(quán)限的檢測。成功登錄后,導(dǎo)航條上將出現(xiàn)“圖書管理”、“訂單管理”、“用戶管理”與“評價(jià)管理”等按鈕供管理員進(jìn)行不同的系統(tǒng)操作。上述功能在前臺不可見,屬于的后臺操作模塊,因此這部分模塊可定義

17、為“后臺管理”,其功能結(jié)構(gòu)模塊圖如圖3-5所示。添加上映圖書信息圖書網(wǎng)站后臺圖書信息管理用戶管理圖書評價(jià)管理訂單管理查看網(wǎng)站用戶信息注銷網(wǎng)站用戶刪除 圖書信息確認(rèn)訂單刪除訂單查看評價(jià)刪除評價(jià)圖3-5 圖書網(wǎng)站后臺功能模塊圖具體任務(wù)分析如下: 圖書管理模塊的基本功能應(yīng)包括添加、刪除、修改圖書信息等。當(dāng)管理員單擊其中的任何一個功能按鈕時(shí),都可以進(jìn)行對前臺顯示的圖書信息進(jìn)行相關(guān)的操作。 用戶管理模塊的基本功能應(yīng)包括用戶基本信息查看和注銷處理。其中用戶基本信息查看包括用戶真實(shí)、手機(jī)號、電子、地址等。對于新注冊的會員用戶,管理員要對其注冊信息進(jìn)行審核。 訂單管理模塊的基本功能應(yīng)包括查看用戶已下單的信息、

18、刪除訂單。其中訂單信息包括購買者編號、圖書名稱、放映廳、座位、購買訂購數(shù)量等。當(dāng)管理員單擊查看按鈕時(shí),將顯示該條訂單的詳細(xì)信息。 評價(jià)管理模塊中,只有購買過圖書票的會員才能對圖書進(jìn)行評價(jià),管理員可以查看或刪除評價(jià)信息。用戶評價(jià)的發(fā)言主題應(yīng)與圖書相關(guān),這是管理員審核的要點(diǎn),對于一些惡意評價(jià),管理員可以選擇刪除。3.3 數(shù)據(jù)庫設(shè)計(jì)3.3.1 數(shù)據(jù)流分析數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的基本工具。一個數(shù)據(jù)流圖確定了系統(tǒng)的轉(zhuǎn)化過程、系統(tǒng)所操縱的數(shù)據(jù)或物質(zhì)的收集(存儲),還有過程、存儲、外部世界之間的數(shù)據(jù)流或物質(zhì)流5。數(shù)據(jù)流圖技術(shù)是可以擴(kuò)充到允許實(shí)時(shí)系統(tǒng)的建模。數(shù)據(jù)流圖是當(dāng)前業(yè)務(wù)過程或新系統(tǒng)操作步驟的一種表示方

19、法。數(shù)據(jù)流圖可以在一個抽象的廣泛圍表示系統(tǒng)。在一個多步驟的活動中,高層數(shù)據(jù)流圖對數(shù)據(jù)和處理部分提供一個整體的瀏覽,這是對包含在軟件需求規(guī)格說明中的精確、詳細(xì)敘述的補(bǔ)充。數(shù)據(jù)流圖描述了軟件需求規(guī)格說明中的功能需求怎樣結(jié)合在一起,使用戶可以執(zhí)行指定的任務(wù)。從圖中迅速反饋的信息有助于對所探討的任務(wù)流的理解進(jìn)行提煉加工。圖書的第一層數(shù)據(jù)流圖,如圖3-6所示。本數(shù)據(jù)流圖描述了圖書后臺的各個模塊處理過程中的數(shù)據(jù)處理的過程。用戶管理主要是對用戶信息的查看和刪除;圖書管理是添加或修改圖書信息;訂單管理是確認(rèn)訂單或刪除訂單;評價(jià)管理是對用戶評價(jià)的查看和刪除。網(wǎng)站首頁圖書信息管理圖書評價(jià)管理訂單管理用戶管理評價(jià)信

20、息圖書信息用戶信息訂單信息圖3-6 圖書票預(yù)訂網(wǎng)站第一層數(shù)據(jù)流圖 圖書信息管理中的數(shù)據(jù)處理圖是本的第二層數(shù)據(jù)流圖,如圖3-7所示。描述了在圖書信息管理模塊中所作操作的數(shù)據(jù)處理。主要包括對上映圖書信息的添加、刪除和修改操作。網(wǎng)站首頁刪除處理添加處理修改處理刪除圖書信息添加新圖書修改圖書信息圖書基本信息圖3-7 圖書信息管理模塊數(shù)據(jù)流圖用戶管理數(shù)據(jù)流程圖,如圖3-8所示。描述了用戶信息管理模塊中所作操作的數(shù)據(jù)處理。主要包括對用戶信息的添加和注銷操作。網(wǎng)站首頁添加處理注銷處理查詢處理注銷用戶信息用戶信息圖3-8 用戶管理模塊數(shù)據(jù)流圖訂單管理數(shù)據(jù)流圖,如圖3-9所示。描述了用戶下單后,訂單管理模塊中所

21、作操作的數(shù)據(jù)處理。管理員的主要操作包括查看訂單和刪除訂單。網(wǎng)站首頁購買用戶信息查看訂單信息查詢處理查看訂單信息刪除處理圖3-9 訂單管理模塊數(shù)據(jù)流圖評價(jià)管理數(shù)據(jù)流圖,如圖3-10所示。描述了已購票用戶觀看圖書后,對圖書做出評價(jià),管理員在評價(jià)管理模塊中所作操作的數(shù)據(jù)處理。管理員的主要操作包括查看評價(jià)和刪除評價(jià)。網(wǎng)站首頁查詢處理刪除處理評價(jià)信息圖3-10 評價(jià)管理模塊數(shù)據(jù)流圖3.3.2 實(shí)體E-R圖E-R圖提供了表示實(shí)體(即數(shù)據(jù)對象)、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型6。構(gòu)成E-R圖的基本要素是實(shí)體、屬性和聯(lián)系,其表示方法為: (1)實(shí)體型:用矩形表示,矩形框?qū)懨鲗?shí)體名; (2)屬性:

22、用橢圓形或圓角矩形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來;多值屬性由雙線連接;主屬性名稱下加下劃線; (3)聯(lián)系:用菱形表示,菱形框?qū)懨髀?lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型。在E-R圖中要明確表明1對多關(guān)系,1對1關(guān)系和多對多關(guān)系。1對1關(guān)系在兩個實(shí)體連線方向?qū)?;1對多關(guān)系在1的一方寫1,多的一方寫N;多對多關(guān)系則是在兩個實(shí)體連線方向各寫N,M。經(jīng)過分析,由上面的數(shù)據(jù)流程圖可以得出以下各實(shí)體之間的E-R圖,如圖3-11所示。數(shù)據(jù)庫:book表:orderinfo表:user表:4 系統(tǒng)實(shí)施4.1 系統(tǒng)運(yùn)行環(huán)境由于本系統(tǒng)系個人單獨(dú)開發(fā),綜合系統(tǒng)特點(diǎn)、開發(fā)時(shí)間

23、等因素,采用傳統(tǒng)的開發(fā)方式瀑布模型開發(fā)模式。從節(jié)約成本的角度考慮,開發(fā)工具選擇目前開發(fā)的主流工具JSP+Access的組合。4.1.1硬件要求(1)CPU:P4 1.8GHz (2)存:256MB以上4.1.2開發(fā)與運(yùn)行環(huán)境(1) 操作系統(tǒng): Windows (2) 開發(fā)工具: JSP+Java(3)數(shù)據(jù)庫:Microsoft Access(4)服務(wù)器:Tomcat 6.0(5)瀏覽器:IE 6.0以上。4.2 系統(tǒng)架構(gòu)設(shè)計(jì)目前,網(wǎng)絡(luò)應(yīng)用軟件的運(yùn)行模式主要有兩類:C/S模式和B/S模式。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)

24、用發(fā)展;部的和外部的用戶都可以訪問新的和現(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ā)展方向。C/S結(jié)構(gòu),即 Client/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到Client 端和Server 端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。C/S之間通過任意的協(xié)議通信,一般要求有特定的客戶端。C/S程序注重流程,可以對權(quán)限多層次校驗(yàn),對系統(tǒng)運(yùn)行速度可以較少考慮;由于整體性,必須整體考察,因此在處理出現(xiàn)的

25、問題以與系統(tǒng)升級上難度較大。因?yàn)榭蛻舳诵枰獙?shí)現(xiàn)絕大多數(shù)的業(yè)務(wù)邏輯和界面展示。這種架構(gòu)中,作為客戶端的部分需要承受很大的壓力,因?yàn)轱@示邏輯和事務(wù)處理都包含在其中,通過與數(shù)據(jù)庫的交互(通常是SQL或存儲過程的實(shí)現(xiàn))來達(dá)到持久化數(shù)據(jù),以此滿足實(shí)際項(xiàng)目的需要。B/S結(jié)構(gòu),即 Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet 技術(shù)的興起,對 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)利用不斷成熟和普與的瀏覽器技術(shù)實(shí)現(xiàn)原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)

26、大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。B/S模式是靠應(yīng)用層的 協(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ù)升級的問題。另外只有極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),這也就充分保護(hù)了數(shù)據(jù)的安全。B/S架構(gòu)中,顯示邏輯交給了Web瀏覽器,事務(wù)處理邏輯在放在了WebApp上,這樣就避免了龐大

27、的客戶端,減少了客戶端的壓力7??偟膩碚f,B/S 結(jié)構(gòu)具有如下優(yōu)點(diǎn):無需安裝客戶端,任何一點(diǎn)都可以登錄訪問;根據(jù)權(quán)限對網(wǎng)絡(luò)拓?fù)溥M(jìn)行統(tǒng)一管理;配置文件和發(fā)現(xiàn)信息實(shí)現(xiàn)集中統(tǒng)一管理和共享。由于系統(tǒng)的定位是一個網(wǎng)上購票系統(tǒng)是一個電子商務(wù)類,傳統(tǒng)的C/S(客戶機(jī)/服務(wù)器)已不適應(yīng)。作為 Internet 上的 Web 應(yīng)用,需要的是 B/S(瀏覽器/服務(wù)器)架構(gòu)。所以本采用B/S結(jié)構(gòu)。4.3 相關(guān)技術(shù)介紹開發(fā)需要兩種工具,即前臺開發(fā)語言和后臺數(shù)據(jù)庫。本前臺開發(fā)技術(shù)使用JSP,后臺數(shù)據(jù)庫使用Microsoft Access。JSP靈活方便,與后臺的Microsoft Access數(shù)據(jù)庫相結(jié)合,可以提供一個

28、高性能的在線訂票。4.3.1 JSP與其特點(diǎn)JSP,全稱為Java Server Pages/Servlet。JSP和Servlet都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應(yīng)用體系中的一部分,兩者一般需要放在一起被討論。Servlet的形式和CGI差不多,它是HTML代碼和后臺程序分開的。它們的啟動原理也類似,都是服務(wù)器接到客戶端的請求后,進(jìn)行應(yīng)答。不同的是,CGI對每個客戶請求都打開一個進(jìn)程(Process),而Servlet卻在響應(yīng)第一個請求的時(shí)候被載入,一旦Servlet被載入,便處于已執(zhí)行狀態(tài)。對于以后其他用戶的請求,它并不打開進(jìn)

29、程,而是打開一個線程(Thread),將結(jié)果發(fā)送給客戶。由于線程與線程之間可以通過生成自己的父線程(Parent Thread)來實(shí)現(xiàn)資源共享,這樣就減輕了服務(wù)器的負(fù)擔(dān),所以,Java Servlet可以用來做大規(guī)模的應(yīng)用服務(wù)8。JSP技術(shù)主要具備以下特點(diǎn):(1)將容的產(chǎn)生和顯式進(jìn)行分離:使用JSP技術(shù),Web開發(fā)人員可以使用HTML或者XML標(biāo)志來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)志或者小腳本來產(chǎn)生頁面上的動態(tài)容。(2)強(qiáng)調(diào)可重用的群組件:絕大多數(shù)JSP頁面依賴于可重用且跨平臺的組件(如:JavaBean或者Enterprise JavaBean)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人

30、員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或用戶團(tuán)體所使用。基于組件的方法加速了總體開發(fā)過程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。(3)采用標(biāo)志簡化頁面開發(fā):Web頁面開發(fā)人員不會都是熟悉腳本語言的程序設(shè)計(jì)人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)志中進(jìn)行動態(tài)容產(chǎn)生所需要的。標(biāo)準(zhǔn)的JSP標(biāo)志能夠存取和實(shí)例化JavaBeans組件,設(shè)定或者檢索群組件屬性,下載Applet,以與執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。目前主流的開發(fā)語言有JSP、ASP、PHP等等。雖然在形式上JSP和ASP或PHP看上去很相似都可

31、以被嵌在HTML代碼中。但是,它的執(zhí)行方式和ASP或PHP完全不同。在JSP被執(zhí)行的時(shí)候,JSP文件被JSP解釋器(JSP Parser)轉(zhuǎn)換成Servlet代碼,然后Servlet代碼被Java編譯器編譯成 .class 字節(jié)文件,這樣就由生成的Servlet來對客戶端應(yīng)答。所以,JSP可以看做是Servlet的腳本語言(Script Language)版。JSP和ASP相比,運(yùn)行速度、運(yùn)行開銷、運(yùn)行平臺、擴(kuò)展性、安全性、函數(shù)支持、廠商支持、對XML的支持等等, JSP的優(yōu)點(diǎn)都是ASP無法比擬的。采用PHP的也有很多,如新浪網(wǎng)(sina)、中國人(Chinaren)等,但由于PHP本身存在的

32、一些缺點(diǎn),使得它不適合應(yīng)用于大型電子商務(wù)站點(diǎn),而更適合一些小型的商業(yè)站點(diǎn)。首先,PHP缺乏規(guī)模支持;其次,它缺乏多層結(jié)構(gòu)支持。對于大負(fù)荷站點(diǎn),解決方法只有一個:分布計(jì)算。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,群組成二維數(shù)組。而PHP則缺乏這種支持。還有十分重要的一點(diǎn),PHP提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子商務(wù)中。目前在國PHP與ASP應(yīng)用最為廣泛。而JSP由于是一種較新的技術(shù),用的較少。但在國外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的,多采用JSP,比較出名的如IBM的E-Buiness,它的核心是采用JSP/Servlet的We

33、b Sphere。它們都是通過CGI來提供支持的。由于JSP/Servlet都是基于Java的,所以它們也具備Java語言的最大優(yōu)點(diǎn)平臺無關(guān)性,也就是所謂的“一次編寫,隨處運(yùn)行(WORA Write Once, Run Anywhere)”。除了這個優(yōu)點(diǎn),JSP/Servlet的效率以與安全性也是相當(dāng)驚人的。因此,JSP/Servlet雖然在國目前的應(yīng)用并不廣泛,但是其前途不可限量。在調(diào)試JSP代碼時(shí),如果程序出錯,JSP服務(wù)器會返回出錯信息,并在瀏覽器中顯示。隨著越來越多的的供貨商將JSP支持加入到他們的產(chǎn)品中,用戶可以使用自己所選擇的服務(wù)器和工具,修改工具和服務(wù)器并不影響目前的應(yīng)用。JSP

34、技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級的分布式應(yīng)用,作為采用Java技術(shù)家族的一部分,以與J2EE的一個成員,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。4.3.2 JavaBeanJavaBean是一種基于Java的軟件組件,JavaBean和ActiveX控件一樣,可以通過封裝業(yè)務(wù)邏輯建立一整套可重復(fù)利用的對象庫。JSP對于在Web應(yīng)用中集成JavaBean組件提供了完善的支持。這種支持不僅能縮短開發(fā)時(shí)間(可以直接利用經(jīng)過測試和可信任的已有組件),避免重復(fù)開發(fā),也為JSP應(yīng)用帶來了更多的可伸縮性。JavaBean組件可以用來執(zhí)行復(fù)雜的計(jì)算任務(wù)

35、,或負(fù)責(zé)與數(shù)據(jù)庫的交互與數(shù)據(jù)提取等。4.3.3 Microsoft Access與其特點(diǎn)Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之一9。一般電腦均會安裝,應(yīng)用廣泛。它提供了表、查詢、窗體、報(bào)表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象,并且提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)化,為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access的優(yōu)點(diǎn)具體有

36、以下幾點(diǎn):(1)存儲方式單一:Access管理的對象有表、查詢、窗體、報(bào)表、頁、宏和模塊這7種,以上對象都存放在后綴為(.mdb)的數(shù)據(jù)庫文件種,便于用戶的操作和管理。 (2)面向?qū)ο螅篈ccess是一個面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各種功能對象化,將數(shù)據(jù)庫管理的各種功能封裝在各類對象中。它將一個應(yīng)用系統(tǒng)當(dāng)作是由一系列對象組成的,對每個對象它都定義一組方法和屬性,以定義該對象的行為和特征,用戶還可以按需要給對象擴(kuò)展方法和屬性。通過對象的方法、屬性完成數(shù)據(jù)庫的操作和管理,極簡化了用戶的開發(fā)工作。同時(shí),這種基于面向?qū)ο蟮拈_發(fā)方式,使得開發(fā)應(yīng)用程序更為簡便。(3)界面友好、易

37、操作:Access是一個可視化工具,其風(fēng)格與Windows完全一樣,用戶想要生成對象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報(bào)表設(shè)計(jì)器以與數(shù)據(jù)庫向?qū)?、表向?qū)?、查詢向?qū)?、窗體向?qū)?、?bào)表向?qū)У裙ぞ撸沟貌僮骱啽?,容易使用和掌握?(4)集成環(huán)境、處理多種數(shù)據(jù)信息:Access基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ撸瑯O提高了開發(fā)人員的工作效率,使得建立數(shù)據(jù)庫、創(chuàng)建表、設(shè)計(jì)用戶界面、設(shè)計(jì)數(shù)據(jù)查詢、報(bào)表打印等可以方便有序地進(jìn)行。 (5)Access支持ODBC:利用Access強(qiáng)大的DDE(動態(tài)數(shù)據(jù)交換)和OLE(對象的聯(lián)接

38、和嵌入)特性,可以在一個數(shù)據(jù)表中嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動態(tài)的數(shù)據(jù)庫報(bào)表和窗體等。Access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫訪問頁對象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。4.3.4 TomcatTomcat是APACHE JAKARTA軟件組織的一個子項(xiàng)目,TOMCAT是一個JSP/SERVLET容器,它是在SUN公司的JSWDK(JAVA SERVER WEB DEVELOPMENT KIT)基礎(chǔ)上發(fā)展起來的一個JSP和SERVLET規(guī)的標(biāo)準(zhǔn)實(shí)現(xiàn),使用TOMCAT可以體驗(yàn)JSP和SERVLET的最

39、新規(guī)。經(jīng)過多年的發(fā)展,Tomcat不僅是JSP和SERVLET規(guī)的標(biāo)準(zhǔn)實(shí)現(xiàn),而且具備了很多商業(yè)JAVA SERVLET容器的特性,并被一些企業(yè)用于商業(yè)用途。 Tomcat服務(wù)器是一個免費(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ù)器。Tomcat是提供一個支持Servlet和JSP運(yùn)行的容器。Servlet和JSP能根據(jù)實(shí)時(shí)需要,產(chǎn)生動態(tài)網(wǎng)頁容。而對于Web服務(wù)器來說,Apache僅僅支持靜態(tài)網(wǎng)頁,對于支持動態(tài)網(wǎng)頁就會顯得無能為力;Tomcat則既能為動態(tài)網(wǎng)頁服務(wù),同時(shí)也

40、能為靜態(tài)網(wǎng)頁提供支持。盡管它沒有通常的Web服務(wù)器快、功能也不如Web服務(wù)器豐富,但是Tomcat逐漸為支持靜態(tài)容不斷擴(kuò)充。大多數(shù)的Web服務(wù)器都是用底層語言編寫如C語言,利用了相應(yīng)平臺的特征,因此用純Java編寫的Tomcat執(zhí)行速度不可能與它們相提并論。一般來說,大的站點(diǎn)都是將Tomcat與Apache的結(jié)合,Apache負(fù)責(zé)接受所有來自客戶端的 請求,然后將Servlets和JSP的請求轉(zhuǎn)發(fā)給Tomcat來處理。Tomcat完成處理后,將響應(yīng)傳回給Apache,最后Apache將響應(yīng)返回給客戶端。4.3.5 數(shù)據(jù)庫連接Access作為關(guān)系型桌面數(shù)據(jù)庫管理系統(tǒng),在建立中、小型的數(shù)據(jù)庫管理中

41、得到了廣泛的應(yīng)用。因此,為了建立與數(shù)據(jù)庫的連接,可以通過三種方式:建立DSN、使用非DSN和OLE DB。在本設(shè)計(jì)過程中,通過JDBC-ODBC橋連接Access數(shù)據(jù)庫10。ODBC是一種訪問數(shù)據(jù)庫的方法,只要系統(tǒng)中有相應(yīng)的ODBC驅(qū)動程序,任何程序就可以通過ODBC驅(qū)動程序操縱數(shù)據(jù)庫。在給ODBC驅(qū)動程序傳遞SQL指令時(shí),用的就是DSN來告訴它到底操作的是哪一個數(shù)據(jù)庫。由此可見,DSN是應(yīng)用程序和數(shù)據(jù)庫之間的橋梁。要通過ODBC訪問數(shù)據(jù)庫,前提是必須配置好DSN。因此,一個DSN必須包含一些信息,DSN的名字就是給這座橋取的名字,當(dāng)在程序中訪問數(shù)據(jù)庫時(shí),給系統(tǒng)傳的就是這個名字,而不是數(shù)據(jù)庫的

42、實(shí)際名稱。所以,在操縱數(shù)據(jù)庫時(shí),系統(tǒng)才會知道調(diào)用哪個ODBC驅(qū)動程序來服務(wù)。SUN的JDK中自帶了用來連接ODBC數(shù)據(jù)源的JDBC驅(qū)動,寫法為:Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );Connection = DriverManager.getConnection( "jdbc:odbc:數(shù)據(jù)源名", “用戶名”, "口令" ); JDBC-ODBC 橋是一個JDBC 驅(qū)動程序,對ODBC 而言, 它像是通用的應(yīng)用程序,橋?yàn)樗羞m用于ODBC 的數(shù)據(jù)庫實(shí)現(xiàn)JDBC。它作

43、為sun.jdbc.odbc 包實(shí)現(xiàn),其中包含一個用來訪問ODBC 的本地庫。由于ODBC 被廣泛地使用,所以橋的優(yōu)點(diǎn)是讓JDBC 能夠訪問幾乎所有的數(shù)據(jù)庫。橋支持ODBC 2.X,這也是當(dāng)前大多數(shù)據(jù)ODBC 驅(qū)動程序支持的版本。橋驅(qū)動程序?yàn)镴ava 應(yīng)用程序提供了一種把JDBC 調(diào)用映射為ODBC 調(diào)用的方法。因此,需要在客戶端機(jī)器上安裝ODBC 驅(qū)動。JDBC-ODBC 橋在JDBCAPI 和ODBCAPI之間提供了一個橋梁,這個橋把標(biāo)準(zhǔn)的JDBC 調(diào)用翻譯成對應(yīng)的ODBC 調(diào)用,然后通過ODBC 庫把它們發(fā)送到ODBC 數(shù)據(jù)源。JDBC- ODBC (Open Database Connectivity,ODBC) 橋驅(qū)動程序由Sun 與Merant公司聯(lián)合開發(fā),主要功能是把JDBC API調(diào)用轉(zhuǎn)換成ODBC API 調(diào)用,然后ODB

溫馨提示

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

評論

0/150

提交評論