




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Web應(yīng)用技術(shù)課程設(shè)計(jì)報(bào)告 學(xué) 院:管理學(xué)院專(zhuān) 業(yè):學(xué)號(hào)姓名: 指導(dǎo)教師:日 期:2012.06.26一、 系統(tǒng)簡(jiǎn)介(系統(tǒng)開(kāi)發(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ù)庫(kù)設(shè)計(jì)(ER圖等)3.4 其他設(shè)計(jì)(如編碼設(shè)計(jì)等)四、 系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)采用的技術(shù)說(shuō)明4.2 主要功能的實(shí)現(xiàn)代碼和界面4.3 javabean的相關(guān)說(shuō)明五、 系統(tǒng)部署說(shuō)明(環(huán)境配置、數(shù)據(jù)源等)六、 代表性窗口與測(cè)試報(bào)告l 測(cè)試帳戶(hù)l 測(cè)試流程七、 用戶(hù)使用說(shuō)明八、 課程設(shè)計(jì)小結(jié)l 本系統(tǒng)的評(píng)價(jià)l
2、課程設(shè)計(jì)的收獲與不足 一系統(tǒng)簡(jiǎn)介JAVA語(yǔ)言是目前Internet上大型的WEB應(yīng)用程序開(kāi)發(fā)時(shí)使用得最熱門(mén)的編程語(yǔ)言,本文描述了JAVA和JSP技術(shù)的特點(diǎn)以及在互聯(lián)網(wǎng)上的使用情況,介紹這兩種技術(shù)的重要編程方法和兩者之關(guān)的聯(lián)系,同時(shí)也會(huì)應(yīng)用相關(guān)的Struts框架,并完成一個(gè)基于這種技術(shù)的網(wǎng)上書(shū)店系統(tǒng)。【關(guān)鍵字】JAVA, Servlet, JSP, 網(wǎng)絡(luò)編程, 電子商務(wù), 網(wǎng)上書(shū)店 JAVA的網(wǎng)絡(luò)功能與編程1-1 JAVA語(yǔ)言簡(jiǎn)介 Java是一種簡(jiǎn)單易用、完全面向?qū)ο蟆⒕哂衅脚_(tái)無(wú)關(guān)性且安全可靠的主要面向Internet的開(kāi)發(fā)工具。自從1995年正式問(wèn)世以來(lái),Java的快速發(fā)
3、展已經(jīng)讓整個(gè)Web世界發(fā)生了翻天覆地的變化。在早期,Java比較多的用在瀏覽器上,插入到網(wǎng)頁(yè)中(即是Java Applet程序),成為最靈活、最強(qiáng)大的網(wǎng)頁(yè)多媒體的載體,但由于Java虛擬機(jī)相對(duì)于個(gè)人電腦而言,有占用資源大,安全性相對(duì)較差等缺點(diǎn),Applet逐漸的被后起之秀Flash所替代,但隨著Java Servlet的推出,Java在電子商務(wù)方面開(kāi)始嶄露頭角,最新的JSP(Java Server Page)技術(shù)的推出,更是讓Java成為基于Web的應(yīng)用程序的首選開(kāi)發(fā)工具,目前的Java技術(shù)已成為所有大型電子商務(wù)項(xiàng)目的必然選擇。1-2 JAVA語(yǔ)言在網(wǎng)絡(luò)上的應(yīng)用 Java程序可以獲取網(wǎng)絡(luò)上結(jié)點(diǎn)
4、的圖象、聲音、HTML文檔及文本等資源,并可以對(duì)獲得的資源進(jìn)行處理。例如Java程序可以每隔一定時(shí)間讀取某結(jié)點(diǎn)提供的最新數(shù)據(jù),并以圖表的形式顯示出來(lái)。在編程處理上,一般先生成一個(gè)URL類(lèi)型的對(duì)象,然后用 Java中相應(yīng)的方法(method)獲取該對(duì)象所代表的資源。1-3 JSP的基礎(chǔ)Servlet 技術(shù) Java Servlet是JSP技術(shù)的基礎(chǔ),JSP本身就是預(yù)先被編譯成Servlet,然后再運(yùn)行的,而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成,Servlet這個(gè)名稱(chēng)大概源于Applet,現(xiàn)在國(guó)內(nèi)的翻譯方式很多,本文為了避免誤會(huì),本文直接采用Servlet這
5、個(gè)名稱(chēng)而不做任何翻譯,讀者如果愿意,可以稱(chēng)之為“小服務(wù)程序”。Servlet其實(shí)和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開(kāi)發(fā)工具的作用是相同的,在使用Java Servlet以后,用戶(hù)不必再使用效率低下的CGI方式,也不必使用只能在某個(gè)固定Web服務(wù)器平臺(tái)運(yùn)行的API方式來(lái)動(dòng)態(tài)生成Web頁(yè)面。許多Web服務(wù)器都支持Servlet,即使不直接支持Servlet的Web服務(wù)器也可以通過(guò)附加的應(yīng)用服務(wù)器和模塊來(lái)支持Servlet。得益于Java的跨平臺(tái)的特性,Servlet也是平臺(tái)無(wú)關(guān)的,實(shí)際上,只要符合Java Servlet規(guī)范,Servlet是完全平臺(tái)無(wú)關(guān)且是Web服務(wù)器無(wú)關(guān)的。
6、由于Java Servlet內(nèi)部是以線程方式提供服務(wù),不必對(duì)于每個(gè)請(qǐng)求都啟動(dòng)一個(gè)進(jìn)程,并且利用多線程機(jī)制可以同時(shí)為多個(gè)請(qǐng)求服務(wù),因此Java Servlet效率非常高。但Java Servlet也不是沒(méi)有缺點(diǎn),和傳統(tǒng)的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用輸出HTML語(yǔ)句來(lái)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的,如果用Java Servlet來(lái)開(kāi)發(fā)整個(gè)網(wǎng)站,動(dòng)態(tài)部分和靜態(tài)頁(yè)面的整合過(guò)程簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。這就是為什么SUN還要推出Java Server Pages的原因。 MVC簡(jiǎn)介模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計(jì)模式,現(xiàn)在已經(jīng)被廣泛的使用
7、。 1、模型(Model)模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯.2、視圖(View)視圖是應(yīng)用程序中用戶(hù)界面相關(guān)的部分,是用戶(hù)看到并與之交互的界面。 3、控制器(controller) 控制器工作就是根據(jù)用戶(hù)的輸入,控制用戶(hù)界面數(shù)據(jù)顯示和更新model對(duì)象狀態(tài)。MVC 式的出現(xiàn)不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性 早期的程序中,如果不注意對(duì)數(shù)功能和顯示的解耦合,常常會(huì)導(dǎo)致程序的復(fù)雜及難以維護(hù)。很多VB,Delphi等RAD程序都有這種問(wèn)題。甚至現(xiàn)在的C#,Java有時(shí)候也會(huì)出現(xiàn)把業(yè)務(wù)邏輯寫(xiě)在顯示模塊中的現(xiàn)象
8、 管MVC設(shè)計(jì)模式很早就提出,但在Web項(xiàng)目的開(kāi)發(fā)中引入MVC卻是步履維艱。主要原因:一是在早期的Web項(xiàng)目的開(kāi)發(fā)中,程序語(yǔ)言和HTML的分離一直難以實(shí)現(xiàn)。CGI程序以字符串輸出的形式動(dòng)態(tài)地生成HTML內(nèi)容。后來(lái)隨著腳本語(yǔ)言的出現(xiàn),前面的方式又被倒了過(guò)來(lái),改成將腳本語(yǔ)言書(shū)寫(xiě)的程序嵌入在HTML內(nèi)容中。這兩種方式有一個(gè)相同的不足之處即它們總是無(wú)法將程序語(yǔ)言和HTML分離。二是腳本語(yǔ)言的功能相對(duì)較弱,缺乏支持MVC設(shè)計(jì)模式的一些必要的技術(shù)基礎(chǔ)。直到基于J2EE的JSP Model 2問(wèn)世時(shí)才得以改觀。它用JSP技術(shù)實(shí)現(xiàn)視圖的功能,用Servlet技術(shù)實(shí)現(xiàn)控制器的功能,用JavaBean技術(shù)實(shí)現(xiàn)模型
9、的功能 JSP Model 1 與 JSP Model 2SUN在JSP出現(xiàn)早期制定了兩種規(guī)范,稱(chēng)為Model1和Model2。雖然Model2在一定程度上實(shí)現(xiàn)了MVC,但是它的應(yīng)用用并不盡如人意 JSP Model 1 二需求分析 網(wǎng)上書(shū)店系統(tǒng)主要是實(shí)現(xiàn)網(wǎng)上選書(shū)、購(gòu)書(shū)、產(chǎn)生訂單等功能的系統(tǒng)。一個(gè)典型的網(wǎng)上商城一般都需要實(shí)現(xiàn)商品信息的動(dòng)態(tài)提示、購(gòu)物車(chē)管理、客戶(hù)信息注冊(cè)登錄管理、訂單處理等模塊。根據(jù)網(wǎng)上書(shū)店的基本需求,本系統(tǒng)需要完成的具體任務(wù)如下:A. 書(shū)圖查詢(xún): 當(dāng)客戶(hù)進(jìn)入網(wǎng)上書(shū)店時(shí),應(yīng)該在主頁(yè)面中分類(lèi)顯示最新的書(shū)目信息,以供客戶(hù)選擇所需圖書(shū),同時(shí)也應(yīng)該提供按照?qǐng)D書(shū)名稱(chēng),或者作者信息快速查詢(xún)所
10、需書(shū)目信息的功能。B. 購(gòu)物車(chē)管理:當(dāng)客戶(hù)選擇購(gòu)買(mǎi)某圖書(shū)產(chǎn)品時(shí),應(yīng)該能夠?qū)?duì)應(yīng)圖書(shū)信息,如:價(jià)格、數(shù)量記錄到對(duì)應(yīng)的購(gòu)物車(chē)中,并允許客戶(hù)返回書(shū)目查詢(xún)頁(yè)面,選擇其他商品,并添加到購(gòu)物車(chē)中,當(dāng)對(duì)應(yīng)的購(gòu)物訂單生成后,應(yīng)該能夠自動(dòng)清除以生成訂單的購(gòu)物車(chē)中的信息。C. 訂單處理:對(duì)應(yīng)客戶(hù)購(gòu)買(mǎi)圖書(shū)商品信息的需求,在確定了所購(gòu)圖書(shū)商品的價(jià)格、數(shù)量等信息后,提示用戶(hù)選擇對(duì)應(yīng)的送貨方式及付款方式,最終生成對(duì)應(yīng)的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進(jìn)行后續(xù)的出貨、送貨的處理。D. 會(huì)員注冊(cè):為了能夠?qū)崿F(xiàn)圖書(shū)商品的購(gòu)買(mǎi),需要管理客戶(hù)相關(guān)的聯(lián)系方式、送貨地點(diǎn)等相關(guān)的信息。功能性需求功能性需求分析是指對(duì)目標(biāo)軟件系統(tǒng)在
11、功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析是軟件設(shè)計(jì)、實(shí)現(xiàn)測(cè)試直至維護(hù)的主要基礎(chǔ),良好的需求分析可以避免或盡早提出早期的錯(cuò)誤,從而降低軟件的開(kāi)發(fā)成本,改進(jìn)軟件的質(zhì)量。需求分析的任務(wù)是通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解系統(tǒng)的工作概況,明確各種功能需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變3。系統(tǒng)對(duì)數(shù)據(jù)的安全性、完整性要求表現(xiàn)在:用戶(hù)信息保密,只有管理員可見(jiàn)(可查),但不能任意修改。確保用戶(hù)信息安全。此外,圖書(shū)信息、用戶(hù)信息必須保證其完整性,防止惡意刪改。以下是系統(tǒng)性能需求:(1)準(zhǔn)確性和可靠性高。(2)頁(yè)面友好,功能齊全,且可以方便使用。三系統(tǒng)設(shè)計(jì)
12、3.1 總體設(shè)計(jì)目標(biāo)網(wǎng)站用戶(hù)通過(guò)使用本系統(tǒng),可以隨時(shí)根據(jù)需要,查詢(xún)上映圖書(shū)信息,對(duì)圖書(shū)網(wǎng)站中的個(gè)人信息進(jìn)行修改,并可以根據(jù)個(gè)人喜好提前預(yù)定圖書(shū),避免了現(xiàn)場(chǎng)排隊(duì)之苦,同時(shí)也減少書(shū)店方面的人力和物力的投資。作為一個(gè)在線購(gòu)書(shū)網(wǎng)站,除了要功能強(qiáng)大、操作簡(jiǎn)單、符合上述需求分析,還應(yīng)實(shí)現(xiàn)其他目標(biāo),以適用于各類(lèi)城市影院,具體要求如下:(1)界面在設(shè)計(jì)上要美觀、友好,操作要快捷、準(zhǔn)確;(2)數(shù)據(jù)存儲(chǔ)要安全可靠;(3)注冊(cè)用戶(hù)可以隨時(shí)修改個(gè)人信息;(4)對(duì)于用戶(hù)輸入的數(shù)據(jù),系統(tǒng)要有嚴(yán)格的檢錯(cuò)機(jī)制,盡可能排除人為錯(cuò)誤;(5)系統(tǒng)要最大限度的實(shí)現(xiàn)易維護(hù)性,運(yùn)行要穩(wěn)定、可靠、安全。3.2 功能模塊設(shè)計(jì)概念模型是信息管
13、理系統(tǒng)設(shè)計(jì)中較早卻相當(dāng)重要的一步,為了全面獲取本系統(tǒng)的概念模型,首先需要分析整個(gè)網(wǎng)站的操作流程。以用戶(hù)在購(gòu)票體驗(yàn)上盡量接近一般網(wǎng)購(gòu)方式為出發(fā)點(diǎn),網(wǎng)站在設(shè)計(jì)上應(yīng)使購(gòu)票流程盡量貼近人們平時(shí)的網(wǎng)購(gòu)習(xí)慣。因此,可以得到用戶(hù)登錄網(wǎng)站進(jìn)行購(gòu)票的流程圖,如圖3-1所示。網(wǎng) 站 前 臺(tái) 圖書(shū)瀏覽、購(gòu)買(mǎi)修改購(gòu)物車(chē)給圖書(shū)評(píng)價(jià)修改個(gè)人信息用 戶(hù) 登 錄結(jié) 束 退 出繼續(xù)操作圖3-1 前臺(tái)管理流程圖是否是否網(wǎng)站用戶(hù)注冊(cè)新用戶(hù)是否從網(wǎng)站管理員角度來(lái)看,管理員進(jìn)入網(wǎng)站后臺(tái)選擇相應(yīng)的功能,操作結(jié)束后,仍可以進(jìn)行其他操作,或者沒(méi)有操作時(shí)退出網(wǎng)站。網(wǎng)站后臺(tái)管理流程如圖3-2所示。后 臺(tái) 登 錄圖 書(shū) 管 理訂 單 管 理用 戶(hù)
14、 管 理評(píng) 價(jià) 管 理管理員結(jié) 束 退 出繼續(xù)操作圖3-2 后臺(tái)管理流程圖是否整個(gè)系統(tǒng)的處理流程如下:(1)用戶(hù)進(jìn)入登錄頁(yè)面,身份驗(yàn)證:普通用戶(hù)和管理員的權(quán)限有所不同。(2)正常進(jìn)入網(wǎng)站:身份核實(shí)無(wú)誤后,按權(quán)限的不同,普通用戶(hù)進(jìn)入網(wǎng)站前臺(tái),管理員進(jìn)入網(wǎng)站后臺(tái)。(3)執(zhí)行各任務(wù):根據(jù)各自需求,進(jìn)行各項(xiàng)操作。(4)一任務(wù)執(zhí)行完畢后重新返回主頁(yè):執(zhí)行任務(wù)后回到主頁(yè)能夠保證操作的條理性。(5)執(zhí)行完畢,退出網(wǎng)站:若所要執(zhí)行的任務(wù)全部完成,即可退出網(wǎng)站。為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序、文件以及數(shù)據(jù)庫(kù)。模塊是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序設(shè)計(jì)對(duì)象的集合,它是單獨(dú)命名的而且可通過(guò)名字來(lái)訪
15、問(wèn)。模塊化就是把程序化分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集起來(lái)組成一個(gè)整體,可以完成指定的滿(mǎn)足問(wèn)題的要求4。通過(guò)以上流程分析,可以進(jìn)一步設(shè)計(jì)出圖書(shū)票預(yù)訂網(wǎng)站的總體結(jié)構(gòu)模塊圖,分別從用戶(hù)和管理員兩個(gè)不同的角度去設(shè)計(jì),如圖3-3所示。重新驗(yàn)證圖3-3 系統(tǒng)總體結(jié)構(gòu)圖退出系統(tǒng)身份驗(yàn)證進(jìn)入系統(tǒng)后臺(tái)修 改 個(gè) 人 信 息圖 書(shū) 管 理 訂 單 管 理 用 戶(hù) 管 理 查 看 圖 書(shū) 信 息購(gòu) 物 車(chē) 管 理給 圖 書(shū) 評(píng) 價(jià)評(píng) 價(jià) 管 理進(jìn)入系統(tǒng)前臺(tái)(1)用戶(hù)模塊:在本網(wǎng)站中,所有的用戶(hù)在訪問(wèn)網(wǎng)站的時(shí)候均可以瀏覽查看圖書(shū)信息、將圖書(shū)加入購(gòu)物車(chē)、查看購(gòu)物車(chē)刪除影票、給圖書(shū)做出評(píng)價(jià)、修改個(gè)人
16、基本信息。其功能結(jié)構(gòu)模塊圖如圖3-4所示。用戶(hù)登錄圖 書(shū) 信 息購(gòu)物車(chē)信息圖 書(shū) 評(píng) 價(jià)個(gè) 人 信 息瀏覽上映圖書(shū)信息圖3-4 圖書(shū)網(wǎng)站前臺(tái)功能模塊圖將圖書(shū)加入購(gòu)物車(chē)查 看 購(gòu) 物 車(chē)刪除已訂購(gòu)給圖書(shū)做出評(píng)價(jià)確認(rèn)個(gè)人信息修改個(gè)人信息(2)管理模塊:在本網(wǎng)站中,管理員除了要進(jìn)行相關(guān)信息的維護(hù)還有如下主要工作:定時(shí)查看圖書(shū)評(píng)價(jià)信息,審查用戶(hù)的評(píng)價(jià)是否具有合法性,刪除惡意評(píng)價(jià);定期對(duì)系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行備份,確保數(shù)據(jù)安全;及時(shí)更新新上映圖書(shū)的信息,刪除圖書(shū)的信息等等。管理員通過(guò)后臺(tái)登錄網(wǎng)站,為確保系統(tǒng)的安全性,管理員后臺(tái)登錄會(huì)進(jìn)行密碼權(quán)限的檢測(cè)。成功登錄后,導(dǎo)航條上將出現(xiàn)“圖書(shū)管理”、“訂單管理”、“用戶(hù)
17、管理”及“評(píng)價(jià)管理”等按鈕供管理員進(jìn)行不同的系統(tǒng)操作。上述功能在前臺(tái)不可見(jiàn),屬于網(wǎng)站的后臺(tái)操作模塊,因此這部分模塊可定義為“后臺(tái)管理”,其功能結(jié)構(gòu)模塊圖如圖3-5所示。添加上映圖書(shū)信息圖書(shū)網(wǎng)站后臺(tái)圖書(shū)信息管理用戶(hù)管理圖書(shū)評(píng)價(jià)管理訂單管理查看網(wǎng)站用戶(hù)信息注銷(xiāo)網(wǎng)站用戶(hù)刪除 圖書(shū)信息確認(rèn)訂單刪除訂單查看評(píng)價(jià)刪除評(píng)價(jià)圖3-5 圖書(shū)網(wǎng)站后臺(tái)功能模塊圖具體任務(wù)分析如下: 圖書(shū)管理模塊的基本功能應(yīng)包括添加、刪除、修改圖書(shū)信息等。當(dāng)管理員單擊其中的任何一個(gè)功能按鈕時(shí),都可以進(jìn)行對(duì)網(wǎng)站前臺(tái)顯示的圖書(shū)信息進(jìn)行相關(guān)的操作。 用戶(hù)管理模塊的基本功能應(yīng)包括網(wǎng)站用戶(hù)基本信息查看和注銷(xiāo)處理。其中用戶(hù)基本信息查看包括用戶(hù)真實(shí)
18、姓名、手機(jī)號(hào)、電子郵箱、地址等。對(duì)于新注冊(cè)的會(huì)員用戶(hù),管理員要對(duì)其注冊(cè)信息進(jìn)行審核。 訂單管理模塊的基本功能應(yīng)包括查看用戶(hù)已下單的信息、刪除訂單。其中訂單信息包括購(gòu)買(mǎi)者編號(hào)、圖書(shū)名稱(chēng)、放映廳、座位、購(gòu)買(mǎi)訂購(gòu)數(shù)量等。當(dāng)管理員單擊查看按鈕時(shí),將顯示該條訂單的詳細(xì)信息。 評(píng)價(jià)管理模塊中,只有購(gòu)買(mǎi)過(guò)圖書(shū)票的網(wǎng)站會(huì)員才能對(duì)圖書(shū)進(jìn)行評(píng)價(jià),管理員可以查看或刪除評(píng)價(jià)信息。用戶(hù)評(píng)價(jià)的發(fā)言主題應(yīng)與圖書(shū)相關(guān),這是管理員審核的要點(diǎn),對(duì)于一些惡意評(píng)價(jià),管理員可以選擇刪除。3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 數(shù)據(jù)流分析數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的基本工具。一個(gè)數(shù)據(jù)流圖確定了系統(tǒng)的轉(zhuǎn)化過(guò)程、系統(tǒng)所操縱的數(shù)據(jù)或物質(zhì)的收集(存儲(chǔ)),還
19、有過(guò)程、存儲(chǔ)、外部世界之間的數(shù)據(jù)流或物質(zhì)流5。數(shù)據(jù)流圖技術(shù)是可以擴(kuò)充到允許實(shí)時(shí)系統(tǒng)的建模。數(shù)據(jù)流圖是當(dāng)前業(yè)務(wù)過(guò)程或新系統(tǒng)操作步驟的一種表示方法。數(shù)據(jù)流圖可以在一個(gè)抽象的廣泛范圍內(nèi)表示系統(tǒng)。在一個(gè)多步驟的活動(dòng)中,高層數(shù)據(jù)流圖對(duì)數(shù)據(jù)和處理部分提供一個(gè)整體的瀏覽,這是對(duì)包含在軟件需求規(guī)格說(shuō)明中的精確、詳細(xì)敘述的補(bǔ)充。數(shù)據(jù)流圖描述了軟件需求規(guī)格說(shuō)明中的功能需求怎樣結(jié)合在一起,使用戶(hù)可以執(zhí)行指定的任務(wù)。從圖中迅速反饋的信息有助于對(duì)所探討的任務(wù)流的理解進(jìn)行提煉加工。圖書(shū)網(wǎng)站的第一層數(shù)據(jù)流圖,如圖3-6所示。本數(shù)據(jù)流圖描述了圖書(shū)網(wǎng)站后臺(tái)的各個(gè)模塊處理過(guò)程中的數(shù)據(jù)處理的過(guò)程。用戶(hù)管理主要是對(duì)用戶(hù)信息的查看和刪
20、除;圖書(shū)管理是添加或修改圖書(shū)信息;訂單管理是確認(rèn)訂單或刪除訂單;評(píng)價(jià)管理是對(duì)用戶(hù)評(píng)價(jià)的查看和刪除。網(wǎng)站首頁(yè)圖書(shū)信息管理圖書(shū)評(píng)價(jià)管理訂單管理用戶(hù)管理評(píng)價(jià)信息圖書(shū)信息用戶(hù)信息訂單信息圖3-6 圖書(shū)票預(yù)訂網(wǎng)站第一層數(shù)據(jù)流圖 圖書(shū)信息管理中的數(shù)據(jù)處理圖是本網(wǎng)站的第二層數(shù)據(jù)流圖,如圖3-7所示。描述了在圖書(shū)信息管理模塊中所作操作的數(shù)據(jù)處理。主要包括對(duì)上映圖書(shū)信息的添加、刪除和修改操作。網(wǎng)站首頁(yè)刪除處理添加處理修改處理刪除圖書(shū)信息添加新圖書(shū)修改圖書(shū)信息圖書(shū)基本信息圖3-7 圖書(shū)信息管理模塊數(shù)據(jù)流圖 用戶(hù)管理數(shù)據(jù)流程圖,如圖3-8所示。描述了用戶(hù)信息管理模塊中所作操作的數(shù)據(jù)處理。主要包括對(duì)用戶(hù)信息的添加和注
21、銷(xiāo)操作。網(wǎng)站首頁(yè)添加處理注銷(xiāo)處理查詢(xún)處理注銷(xiāo)用戶(hù)信息用戶(hù)信息圖3-8 用戶(hù)管理模塊數(shù)據(jù)流圖 訂單管理數(shù)據(jù)流圖,如圖3-9所示。描述了用戶(hù)下單后,訂單管理模塊中所作操作的數(shù)據(jù)處理。網(wǎng)站管理員的主要操作包括查看訂單和刪除訂單。網(wǎng)站首頁(yè)購(gòu)買(mǎi)用戶(hù)信息查看訂單信息查詢(xún)處理查看訂單信息刪除處理圖3-9 訂單管理模塊數(shù)據(jù)流圖評(píng)價(jià)管理數(shù)據(jù)流圖,如圖3-10所示。描述了已購(gòu)票用戶(hù)觀看圖書(shū)后,對(duì)圖書(shū)做出評(píng)價(jià),網(wǎng)站管理員在評(píng)價(jià)管理模塊中所作操作的數(shù)據(jù)處理。管理員的主要操作包括查看評(píng)價(jià)和刪除評(píng)價(jià)。網(wǎng)站首頁(yè)查詢(xún)處理刪除處理評(píng)價(jià)信息圖3-10 評(píng)價(jià)管理模塊數(shù)據(jù)流圖3.3.2 實(shí)體E-R圖E-R圖提供了表示實(shí)體(即數(shù)據(jù)對(duì)象
22、)、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型6。構(gòu)成E-R圖的基本要素是實(shí)體、屬性和聯(lián)系,其表示方法為: (1)實(shí)體型:用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名; (2)屬性:用橢圓形或圓角矩形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);多值屬性由雙線連接;主屬性名稱(chēng)下加下劃線; (3)聯(lián)系:用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型。在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的一方寫(xiě)1,多的一方寫(xiě)N;多對(duì)多關(guān)系則是在兩個(gè)實(shí)體連線方向各寫(xiě)N,M。經(jīng)過(guò)分析,由上面的數(shù)據(jù)流程圖可以得出以下各
23、實(shí)體之間的E-R圖,如圖3-11所示。數(shù)據(jù)庫(kù):book表:orderinfo表: user表:4 系統(tǒng)實(shí)施4.1 系統(tǒng)運(yùn)行環(huán)境由于本系統(tǒng)系個(gè)人單獨(dú)開(kāi)發(fā),綜合系統(tǒng)特點(diǎn)、開(kāi)發(fā)時(shí)間等因素,采用傳統(tǒng)的開(kāi)發(fā)方式瀑布模型開(kāi)發(fā)模式。從節(jié)約成本的角度考慮,開(kāi)發(fā)工具選擇目前網(wǎng)站開(kāi)發(fā)的主流工具JSP+Access 的組合。 4.1.1硬件要求 (1)CPU:P4 1.8GHz (2)內(nèi)存:256MB 以上 4.1.2開(kāi)發(fā)及運(yùn)行環(huán)境 (1) 操作系統(tǒng): Windows (2) 開(kāi)發(fā)工具: JSP+Java(3)數(shù)據(jù)庫(kù):Microsoft Access(4)服務(wù)器:Tomcat 6.0(5)瀏覽器:IE 6.0 以上
24、。 4.2 系統(tǒng)架構(gòu)設(shè)計(jì)目前,網(wǎng)絡(luò)應(yīng)用軟件的運(yùn)行模式主要有兩類(lèi):C/S模式和B/S模式。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展;內(nèi)部的和外部的用戶(hù)都可以訪問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理;不同的應(yīng)用模塊共享邏輯組件;通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。C/S結(jié)構(gòu),即 Client/Server(客戶(hù)機(jī)/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)將任務(wù)合理分配到Client 端和Server 端,降低了系統(tǒng)的通訊開(kāi)銷(xiāo),
25、可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì)。C/S之間通過(guò)任意的協(xié)議通信,一般要求有特定的客戶(hù)端。C/S程序注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮;由于整體性,必須整體考察,因此在處理出現(xiàn)的問(wèn)題以及系統(tǒng)升級(jí)上難度較大。因?yàn)榭蛻?hù)端需要實(shí)現(xiàn)絕大多數(shù)的業(yè)務(wù)邏輯和界面展示。這種架構(gòu)中,作為客戶(hù)端的部分需要承受很大的壓力,因?yàn)轱@示邏輯和事務(wù)處理都包含在其中,通過(guò)與數(shù)據(jù)庫(kù)的交互(通常是SQL或存儲(chǔ)過(guò)程的實(shí)現(xiàn))來(lái)達(dá)到持久化數(shù)據(jù),以此滿(mǎn)足實(shí)際項(xiàng)目的需要。B/S結(jié)構(gòu),即 Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet 技術(shù)的興起,對(duì) C/S 結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這
26、種結(jié)構(gòu)下,用戶(hù)界面完全通過(guò)瀏覽器實(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)原來(lái)需要復(fù)雜專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(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é)議支持),一般不需要特定的客戶(hù)端,而是需要有統(tǒng)一規(guī)范的客戶(hù)端,那就是瀏覽器。B/S架構(gòu)的優(yōu)點(diǎn)在于客戶(hù)端和服務(wù)器通過(guò)Internet 進(jìn)行數(shù)據(jù)交換,客戶(hù)端基于統(tǒng)一的 Web 瀏覽器,減少了投資,解決了系統(tǒng)維護(hù)升級(jí)的問(wèn)題。另外只有極少部分事
27、務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),這也就充分保護(hù)了數(shù)據(jù)的安全。B/S架構(gòu)中,顯示邏輯交給了Web瀏覽器,事務(wù)處理邏輯在放在了WebApp上,這樣就避免了龐大的客戶(hù)端,減少了客戶(hù)端的壓力7??偟膩?lái)說(shuō),B/S 結(jié)構(gòu)具有如下優(yōu)點(diǎn):無(wú)需安裝客戶(hù)端,任何一點(diǎn)都可以登錄訪問(wèn);根據(jù)權(quán)限對(duì)網(wǎng)絡(luò)拓?fù)溥M(jìn)行統(tǒng)一管理;配置文件和發(fā)現(xiàn)信息實(shí)現(xiàn)集中統(tǒng)一管理和共享。由于系統(tǒng)的定位是一個(gè)網(wǎng)上購(gòu)票系統(tǒng)是一個(gè)電子商務(wù)類(lèi)網(wǎng)站,傳統(tǒng)的C/S(客戶(hù)機(jī)/服務(wù)器)已不適應(yīng)。作為 Internet 上的 Web 應(yīng)用,需要的是 B/S(瀏覽器/服務(wù)器)架構(gòu)。所以本網(wǎng)站采用B/S結(jié)構(gòu)。4.3
28、相關(guān)技術(shù)介紹開(kāi)發(fā)網(wǎng)站需要兩種工具,即前臺(tái)開(kāi)發(fā)語(yǔ)言和后臺(tái)數(shù)據(jù)庫(kù)。本網(wǎng)站前臺(tái)開(kāi)發(fā)技術(shù)使用JSP,后臺(tái)數(shù)據(jù)庫(kù)使用Microsoft Access。JSP靈活方便,與后臺(tái)的Microsoft Access數(shù)據(jù)庫(kù)相結(jié)合,可以提供一個(gè)高性能的在線訂票網(wǎng)站。4.3.1 JSP及其特點(diǎn)JSP,全稱(chēng)為Java Server Pages/Servlet。JSP和Servlet都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應(yīng)用體系中的一部分,兩者一般需要放在一起被討論。Servlet的形式和CGI差不多,它是HTML代碼和后臺(tái)程序分開(kāi)的。它們的啟動(dòng)原理也類(lèi)似,都是服
29、務(wù)器接到客戶(hù)端的請(qǐng)求后,進(jìn)行應(yīng)答。不同的是,CGI對(duì)每個(gè)客戶(hù)請(qǐng)求都打開(kāi)一個(gè)進(jìn)程(Process),而Servlet卻在響應(yīng)第一個(gè)請(qǐng)求的時(shí)候被載入,一旦Servlet被載入,便處于已執(zhí)行狀態(tài)。對(duì)于以后其他用戶(hù)的請(qǐng)求,它并不打開(kāi)進(jìn)程,而是打開(kāi)一個(gè)線程(Thread),將結(jié)果發(fā)送給客戶(hù)。由于線程與線程之間可以通過(guò)生成自己的父線程(Parent Thread)來(lái)實(shí)現(xiàn)資源共享,這樣就減輕了服務(wù)器的負(fù)擔(dān),所以,Java Servlet可以用來(lái)做大規(guī)模的應(yīng)用服務(wù)8。JSP技術(shù)主要具備以下特點(diǎn):(1)將內(nèi)容的產(chǎn)生和顯式進(jìn)行分離:使用JSP技術(shù),Web開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)志來(lái)設(shè)計(jì)和格式化最終頁(yè)面
30、。使用JSP標(biāo)志或者小腳本來(lái)產(chǎn)生頁(yè)面上的動(dòng)態(tài)內(nèi)容。(2)強(qiáng)調(diào)可重用的群組件:絕大多數(shù)JSP頁(yè)面依賴(lài)于可重用且跨平臺(tái)的組件(如:JavaBean或者Enterprise JavaBean)來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或用戶(hù)團(tuán)體所使用?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。(3)采用標(biāo)志簡(jiǎn)化頁(yè)面開(kāi)發(fā):Web頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的程序設(shè)計(jì)人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)志中進(jìn)行動(dòng)態(tài)內(nèi)容產(chǎn)生所需要的。標(biāo)準(zhǔn)的
31、JSP標(biāo)志能夠存取和實(shí)例化JavaBeans組件,設(shè)定或者檢索群組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。目前主流的網(wǎng)站開(kāi)發(fā)語(yǔ)言有JSP、ASP、PHP等等。雖然在形式上JSP和ASP或PHP看上去很相似都可以被內(nèi)嵌在HTML代碼中。但是,它的執(zhí)行方式和ASP或PHP完全不同。在JSP被執(zhí)行的時(shí)候,JSP文件被JSP解釋器(JSP Parser)轉(zhuǎn)換成Servlet代碼,然后Servlet代碼被Java編譯器編譯成 .class 字節(jié)文件,這樣就由生成的Servlet來(lái)對(duì)客戶(hù)端應(yīng)答。所以,JSP可以看做是Servlet的腳本語(yǔ)言(Script Language)版。
32、JSP和ASP相比,運(yùn)行速度、運(yùn)行開(kāi)銷(xiāo)、運(yùn)行平臺(tái)、擴(kuò)展性、安全性、函數(shù)支持、廠商支持、對(duì)XML的支持等等, JSP的優(yōu)點(diǎn)都是ASP無(wú)法比擬的。采用PHP的網(wǎng)站也有很多,如新浪網(wǎng)(sina)、中國(guó)人(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ù)庫(kù)、應(yīng)用邏輯層、表示邏輯層彼此分開(kāi),而且同層也可以根據(jù)流量分開(kāi),群組成二維數(shù)組。而PHP則缺乏這種支持。還有十分重要的一點(diǎn),PHP提供的數(shù)據(jù)庫(kù)接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子
33、商務(wù)中。目前在國(guó)內(nèi)PHP與ASP應(yīng)用最為廣泛。而JSP由于是一種較新的技術(shù),國(guó)內(nèi)采用的較少。但在國(guó)外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類(lèi)的網(wǎng)站,多采用JSP,比較出名的如IBM的E-Buiness,它的核心是采用JSP/Servlet的Web Sphere。它們都是通過(guò)CGI來(lái)提供支持的。由于JSP/Servlet都是基于Java的,所以它們也具備Java語(yǔ)言的最大優(yōu)點(diǎn)平臺(tái)無(wú)關(guān)性,也就是所謂的“一次編寫(xiě),隨處運(yùn)行(WORA Write Once, Run Anywhere)”。除了這個(gè)優(yōu)點(diǎn),JSP/Servlet的效率以及安全性也是相當(dāng)驚人的。因此,JSP/Servlet雖然在國(guó)
34、內(nèi)目前的應(yīng)用并不廣泛,但是其前途不可限量。在調(diào)試JSP代碼時(shí),如果程序出錯(cuò),JSP服務(wù)器會(huì)返回出錯(cuò)信息,并在瀏覽器中顯示。隨著越來(lái)越多的的供貨商將JSP支持加入到他們的產(chǎn)品中,用戶(hù)可以使用自己所選擇的服務(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)用。4.3.2 JavaBeanJavaBean是一種基于Java的軟件組件,JavaBean和ActiveX控件一樣,可以通過(guò)封裝業(yè)務(wù)邏輯建立一
35、整套可重復(fù)利用的對(duì)象庫(kù)。JSP對(duì)于在Web應(yīng)用中集成JavaBean組件提供了完善的支持。這種支持不僅能縮短開(kāi)發(fā)時(shí)間(可以直接利用經(jīng)過(guò)測(cè)試和可信任的已有組件),避免重復(fù)開(kāi)發(fā),也為JSP應(yīng)用帶來(lái)了更多的可伸縮性。JavaBean組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互與數(shù)據(jù)提取等。4.3.3 Microsoft Access及其特點(diǎn) Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之一9。一般電腦均會(huì)安裝,應(yīng)用廣泛。它提供了表、查詢(xún)、窗體、報(bào)
36、表、頁(yè)、宏、模塊7種用來(lái)建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象,并且提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢(xún)、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化,為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普通用戶(hù)不必編寫(xiě)代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access的優(yōu)點(diǎn)具體有以下幾點(diǎn):(1)存儲(chǔ)方式單一:Access管理的對(duì)象有表、查詢(xún)、窗體、報(bào)表、頁(yè)、宏和模塊這7種,以上對(duì)象都存放在后綴為(.mdb)的數(shù)據(jù)庫(kù)文件種,便于用戶(hù)的操作和管理。 (2)面向?qū)ο螅篈ccess是一個(gè)面向?qū)ο蟮拈_(kāi)發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫(kù)系統(tǒng)中的各種功能對(duì)象化,將數(shù)據(jù)庫(kù)管理的各種功能封裝在各類(lèi)對(duì)象中。它將一個(gè)應(yīng)用系統(tǒng)當(dāng)作是由一
37、系列對(duì)象組成的,對(duì)每個(gè)對(duì)象它都定義一組方法和屬性,以定義該對(duì)象的行為和特征,用戶(hù)還可以按需要給對(duì)象擴(kuò)展方法和屬性。通過(guò)對(duì)象的方法、屬性完成數(shù)據(jù)庫(kù)的操作和管理,極大地簡(jiǎn)化了用戶(hù)的開(kāi)發(fā)工作。同時(shí),這種基于面向?qū)ο蟮拈_(kāi)發(fā)方式,使得開(kāi)發(fā)應(yīng)用程序更為簡(jiǎn)便。(3)界面友好、易操作:Access是一個(gè)可視化工具,其風(fēng)格與Windows完全一樣,用戶(hù)想要生成對(duì)象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢(xún)生成器、報(bào)表設(shè)計(jì)器以及數(shù)據(jù)庫(kù)向?qū)?、表向?qū)А⒉樵?xún)向?qū)?、窗體向?qū)А?bào)表向?qū)У裙ぞ?,使得操作?jiǎn)便,容易使用和掌握。 (4)集成環(huán)境、處理多種數(shù)據(jù)信息:Access基于Windows操作
38、系統(tǒng)下的集成開(kāi)發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ撸瑯O大地提高了開(kāi)發(fā)人員的工作效率,使得建立數(shù)據(jù)庫(kù)、創(chuàng)建表、設(shè)計(jì)用戶(hù)界面、設(shè)計(jì)數(shù)據(jù)查詢(xún)、報(bào)表打印等可以方便有序地進(jìn)行。 (5)Access支持ODBC:利用Access強(qiáng)大的DDE(動(dòng)態(tài)數(shù)據(jù)交換)和OLE(對(duì)象的聯(lián)接和嵌入)特性,可以在一個(gè)數(shù)據(jù)表中嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動(dòng)態(tài)的數(shù)據(jù)庫(kù)報(bào)表和窗體等。Access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動(dòng)態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫(kù)訪問(wèn)頁(yè)對(duì)象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。4.3.4 TomcatTomcat是APACHE JAKARTA
39、軟件組織的一個(gè)子項(xiàng)目,TOMCAT是一個(gè)JSP/SERVLET容器,它是在SUN公司的JSWDK(JAVA SERVER WEB DEVELOPMENT KIT)基礎(chǔ)上發(fā)展起來(lái)的一個(gè)JSP和SERVLET規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),使用TOMCAT可以體驗(yàn)JSP和SERVLET的最新規(guī)范。經(jīng)過(guò)多年的發(fā)展,Tomcat不僅是JSP和SERVLET規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),而且具備了很多商業(yè)JAVA SERVLET容器的特性,并被一些企業(yè)用于商業(yè)用途。 Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器。因?yàn)門(mén)omcat技術(shù)先進(jìn)、性能穩(wěn)定且免費(fèi),所以深受Java程序開(kāi)發(fā)者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為
40、目前比較流行的Web應(yīng)用服務(wù)器。Tomcat是提供一個(gè)支持Servlet和JSP運(yùn)行的容器。Servlet和JSP能根據(jù)實(shí)時(shí)需要,產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容。而對(duì)于Web服務(wù)器來(lái)說(shuō),Apache僅僅支持靜態(tài)網(wǎng)頁(yè),對(duì)于支持動(dòng)態(tài)網(wǎng)頁(yè)就會(huì)顯得無(wú)能為力;Tomcat則既能為動(dòng)態(tài)網(wǎng)頁(yè)服務(wù),同時(shí)也能為靜態(tài)網(wǎng)頁(yè)提供支持。盡管它沒(méi)有通常的Web服務(wù)器快、功能也不如Web服務(wù)器豐富,但是Tomcat逐漸為支持靜態(tài)內(nèi)容不斷擴(kuò)充。大多數(shù)的Web服務(wù)器都是用底層語(yǔ)言編寫(xiě)如C語(yǔ)言,利用了相應(yīng)平臺(tái)的特征,因此用純Java編寫(xiě)的Tomcat執(zhí)行速度不可能與它們相提并論。一般來(lái)說(shuō),大的站點(diǎn)都是將Tomcat與Apache的結(jié)合,Apa
41、che負(fù)責(zé)接受所有來(lái)自客戶(hù)端的HTTP請(qǐng)求,然后將Servlets和JSP的請(qǐng)求轉(zhuǎn)發(fā)給Tomcat來(lái)處理。Tomcat完成處理后,將響應(yīng)傳回給Apache,最后Apache將響應(yīng)返回給客戶(hù)端。4.3.5 數(shù)據(jù)庫(kù)連接Access作為關(guān)系型桌面數(shù)據(jù)庫(kù)管理系統(tǒng),在建立中、小型的數(shù)據(jù)庫(kù)管理網(wǎng)站中得到了廣泛的應(yīng)用。因此,為了建立與數(shù)據(jù)庫(kù)的連接,可以通過(guò)三種方式:建立DSN、使用非DSN和OLE DB。在本網(wǎng)站設(shè)計(jì)過(guò)程中,通過(guò)JDBC-ODBC橋連接Access數(shù)據(jù)庫(kù)10。ODBC是一種訪問(wèn)數(shù)據(jù)庫(kù)的方法,只要系統(tǒng)中有相應(yīng)的ODBC驅(qū)動(dòng)程序,任何程序就可以通過(guò)ODBC驅(qū)動(dòng)程序操縱數(shù)據(jù)庫(kù)。在給ODBC驅(qū)動(dòng)程序
42、傳遞SQL指令時(shí),用的就是DSN來(lái)告訴它到底操作的是哪一個(gè)數(shù)據(jù)庫(kù)。由此可見(jiàn),DSN是應(yīng)用程序和數(shù)據(jù)庫(kù)之間的橋梁。要通過(guò)ODBC訪問(wèn)數(shù)據(jù)庫(kù),前提是必須配置好DSN。因此,一個(gè)DSN必須包含一些信息,DSN的名字就是給這座橋取的名字,當(dāng)在程序中訪問(wèn)數(shù)據(jù)庫(kù)時(shí),給系統(tǒng)傳的就是這個(gè)名字,而不是數(shù)據(jù)庫(kù)的實(shí)際名稱(chēng)。所以,在操縱數(shù)據(jù)庫(kù)時(shí),系統(tǒng)才會(huì)知道調(diào)用哪個(gè)ODBC驅(qū)動(dòng)程序來(lái)服務(wù)。SUN的JDK中自帶了用來(lái)連接ODBC數(shù)據(jù)源的JDBC驅(qū)動(dòng),寫(xiě)法為:Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );Connection cn = DriverMa
43、nager.getConnection( "jdbc:odbc:數(shù)據(jù)源名", “用戶(hù)名”, "口令" ); JDBC-ODBC 橋是一個(gè)JDBC 驅(qū)動(dòng)程序,對(duì)ODBC 而言, 它像是通用的應(yīng)用程序,橋?yàn)樗羞m用于ODBC 的數(shù)據(jù)庫(kù)實(shí)現(xiàn)JDBC。它作為sun.jdbc.odbc 包實(shí)現(xiàn),其中包含一個(gè)用來(lái)訪問(wèn)ODBC 的本地庫(kù)。由于ODBC 被廣泛地使用,所以橋的優(yōu)點(diǎn)是讓JDBC 能夠訪問(wèn)幾乎所有的數(shù)據(jù)庫(kù)。橋支持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)用的方法。因此,需要在客戶(hù)端機(jī)器上安裝ODBC 驅(qū)動(dòng)。JDBC-ODBC 橋在JDBC API 和ODBC API之間提供了一個(gè)橋梁,這個(gè)橋把標(biāo)準(zhǔn)的JDBC 調(diào)用翻譯成對(duì)應(yīng)的ODBC 調(diào)用,然后通過(guò)ODBC 庫(kù)把它們發(fā)送到ODBC 數(shù)據(jù)源。JDBC- ODBC (Open Database Connectivity,ODBC) 橋驅(qū)動(dòng)程序由Sun 與Merant公司聯(lián)合開(kāi)發(fā),主要功能是把JDBC API調(diào)用轉(zhuǎn)換成ODBC API 調(diào)用,然后ODBC API調(diào)用針對(duì)供應(yīng)商的O
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物科技與人類(lèi)未來(lái)的關(guān)系試題及答案
- 啟動(dòng)備考的人力資源管理師試題及答案
- 2024年職業(yè)發(fā)展投資咨詢(xún)?cè)囶}及答案
- 2024年陪診師考試復(fù)習(xí)方法與試題及答案
- 2024年份6月份文職崗位勞動(dòng)合同嵌入語(yǔ)音情感分析項(xiàng)
- 二零二四年份10月份碳中和園區(qū)EPC總承包合同碳交易附錄
- 信息化物流師核心知識(shí)與試題及答案
- 特許另類(lèi)投資相關(guān)的經(jīng)濟(jì)指標(biāo)試題及答案
- 2024年陪診師考試思路分析試題及答案
- 寵物行為觀察試題及答案
- 菩薩蠻黃鶴樓(毛澤東).中職課件電子教案
- 鋁銀漿MSDS化學(xué)品安全技術(shù)說(shuō)明書(shū)
- 紫藍(lán)色可愛(ài)卡通風(fēng)《小王子》名著導(dǎo)讀兒童文學(xué)PPT模板
- 安全疏散設(shè)施檢查記錄參考模板范本
- KTV包房音響系統(tǒng)設(shè)計(jì)方案
- 常用物理英語(yǔ)詞匯大全
- 城市軌道交通設(shè)備系統(tǒng)_第十一章_車(chē)輛段與綜合基地
- 增值稅暫行條例實(shí)施細(xì)則釋義
- 如何挖掘商機(jī)PPT課件
- 平行四邊形培優(yōu)專(zhuān)題訓(xùn)練
- 公制螺紋塞規(guī)的尺寸計(jì)算
評(píng)論
0/150
提交評(píng)論