版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 《Web應(yīng)用技術(shù)》</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p><b> 系統(tǒng)簡(jiǎn)介</b></p><p> ?。ㄏ到y(tǒng)開(kāi)發(fā)的背景、目的、意義等)</p><p><b> 系統(tǒng)分析</b>&l
2、t;/p><p> 2.1 現(xiàn)狀及存在的不足</p><p><b> 2.2功能需求</b></p><p><b> 2.3 流程需求</b></p><p><b> 2.4其他</b></p><p><b> 系統(tǒng)設(shè)計(jì)&
3、lt;/b></p><p> 3.1 系統(tǒng)設(shè)計(jì)的目標(biāo)</p><p> 3.2 系統(tǒng)功能模塊設(shè)計(jì)</p><p> 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)(ER圖等)</p><p> 3.4 其他設(shè)計(jì)(如編碼設(shè)計(jì)等)</p><p><b> 系統(tǒng)實(shí)現(xiàn)</b></p><
4、p> 4.1 系統(tǒng)采用的技術(shù)說(shuō)明</p><p> 4.2 主要功能的實(shí)現(xiàn)代碼和界面</p><p> 4.3 javabean的相關(guān)說(shuō)明</p><p><b> 系統(tǒng)部署說(shuō)明</b></p><p> ?。ōh(huán)境配置、數(shù)據(jù)源等)</p><p> 代表性窗口與測(cè)試報(bào)告</p
5、><p><b> 測(cè)試帳戶</b></p><p><b> 測(cè)試流程</b></p><p><b> 用戶使用說(shuō)明</b></p><p><b> 課程設(shè)計(jì)小結(jié)</b></p><p><b> 本系統(tǒng)的評(píng)價(jià)
6、</b></p><p> 課程設(shè)計(jì)的收獲與不足</p><p><b> 一.系統(tǒng)簡(jiǎn)介</b></p><p> 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)的
7、Struts框架,并完成一個(gè)基于這種技術(shù)的網(wǎng)上書(shū)店系統(tǒng)。</p><p> 【關(guān)鍵字】JAVA, Servlet, JSP, 網(wǎng)絡(luò)編程, 電子商務(wù), 網(wǎng)上書(shū)店</p><p> JAVA的網(wǎng)絡(luò)功能與編程</p><p> 1-1 JAVA語(yǔ)言簡(jiǎn)介 Java是一種簡(jiǎn)單易用、完全面向?qū)ο蟆⒕哂衅脚_(tái)無(wú)關(guān)性且安全可靠的主要面向Inter
8、net的開(kāi)發(fā)工具。自從1995年正式問(wèn)世以來(lái),Java的快速發(fā)展已經(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(
9、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)的圖象、聲音、HTML文檔及文本等資源,并可以對(duì)獲得的資源進(jìn)行處理。例如Java程序可以每隔一定時(shí)間讀取某結(jié)點(diǎn)提供的最新數(shù)據(jù),并以圖表的形式顯示出來(lái)。在編程處理上,一般先生成一個(gè)URL類(lèi)型的對(duì)象,然后用
10、</p><p> 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這個(gè)名稱(chēng)而不做任何翻譯,讀者如果愿意,可以稱(chēng)之
11、為“小服務(wù)程序”。Servlet其實(shí)和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開(kāi)發(fā)工具的作用是相同的,在使用Java Servlet以后,用戶不必再使用效率低下的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)的特性,Servle
12、t也是平臺(tái)無(wú)關(guān)的,實(shí)際上,只要符合Java Servlet規(guī)范,Servlet是完全平臺(tái)無(wú)關(guān)且是Web服務(wù)器無(wú)關(guān)的。由于Java Servlet內(nèi)部是以線程方式提供服</p><p><b> MVC簡(jiǎn)介</b></p><p> 模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計(jì)模式,現(xiàn)在已經(jīng)被廣泛的使用。 1、模型(Model)
13、 模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯.2、視圖(View) 視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。 3、控制器(controller) 控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對(duì)象狀態(tài)?! VC 式的出現(xiàn)不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性 早期的程序中,如
14、果不注意對(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)象 管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),前面的</p&
15、gt;<p><b> 二.需求分析</b></p><p> 網(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ē)管理、客戶信息注冊(cè)登錄管理、訂單處理等模塊。</p><p> 根據(jù)網(wǎng)上書(shū)店的基本需求,本系統(tǒng)需要完成的具體任務(wù)如下:</p><p> 書(shū)圖
16、查詢: 當(dāng)客戶進(jìn)入網(wǎng)上書(shū)店時(shí),應(yīng)該在主頁(yè)面中分類(lèi)顯示最新的書(shū)目信息,以供客戶選擇所需圖書(shū),同時(shí)也應(yīng)該提供按照?qǐng)D書(shū)名稱(chēng),或者作者信息快速查詢所需書(shū)目信息的功能。</p><p> 購(gòu)物車(chē)管理:當(dāng)客戶選擇購(gòu)買(mǎi)某圖書(shū)產(chǎn)品時(shí),應(yīng)該能夠?qū)?duì)應(yīng)圖書(shū)信息,如:價(jià)格、數(shù)量記錄到對(duì)應(yīng)的購(gòu)物車(chē)中,并允許客戶返回書(shū)目查詢頁(yè)面,選擇其他商品,并添加到購(gòu)物車(chē)中,當(dāng)對(duì)應(yīng)的購(gòu)物訂單生成后,應(yīng)該能夠自動(dòng)清除以生成訂單的購(gòu)物車(chē)中的信息。<
17、/p><p> 訂單處理:對(duì)應(yīng)客戶購(gòu)買(mǎi)圖書(shū)商品信息的需求,在確定了所購(gòu)圖書(shū)商品的價(jià)格、數(shù)量等信息后,提示用戶選擇對(duì)應(yīng)的送貨方式及付款方式,最終生成對(duì)應(yīng)的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進(jìn)行后續(xù)的出貨、送貨的處理。</p><p> 會(huì)員注冊(cè):為了能夠?qū)崿F(xiàn)圖書(shū)商品的購(gòu)買(mǎi),需要管理客戶相關(guān)的聯(lián)系方式、送貨地點(diǎn)等相關(guān)的信息。</p><p><b>
18、功能性需求</b></p><p> 功能性需求分析是指對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(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ò)充和
19、改變[3]。</p><p> 系統(tǒng)對(duì)數(shù)據(jù)的安全性、完整性要求表現(xiàn)在:用戶信息保密,只有管理員可見(jiàn)(可查),但不能任意修改。確保用戶信息安全。此外,圖書(shū)信息、用戶信息必須保證其完整性,防止惡意刪改。以下是系統(tǒng)性能需求:</p><p> ?。?)準(zhǔn)確性和可靠性高。</p><p> ?。?)頁(yè)面友好,功能齊全,且可以方便使用。</p><p&g
20、t;<b> 三.系統(tǒng)設(shè)計(jì)</b></p><p> 3.1 總體設(shè)計(jì)目標(biāo)</p><p> 網(wǎng)站用戶通過(guò)使用本系統(tǒng),可以隨時(shí)根據(jù)需要,查詢上映圖書(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),以適
21、用于各類(lèi)城市影院,具體要求如下:</p><p> ?。?)界面在設(shè)計(jì)上要美觀、友好,操作要快捷、準(zhǔn)確;</p><p> (2)數(shù)據(jù)存儲(chǔ)要安全可靠;</p><p> (3)注冊(cè)用戶可以隨時(shí)修改個(gè)人信息;</p><p> (4)對(duì)于用戶輸入的數(shù)據(jù),系統(tǒng)要有嚴(yán)格的檢錯(cuò)機(jī)制,盡可能排除人為錯(cuò)誤;</p><p>
22、 ?。?)系統(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)站的操作流程。以用戶在購(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í)慣。因此,可以得到用戶登錄網(wǎng)站進(jìn)行購(gòu)票的流程圖,如圖3-
23、1所示。</p><p> 從網(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所示。</p><p> 整個(gè)系統(tǒng)的處理流程如下:</p><p> (1)用戶進(jìn)入登錄頁(yè)面,身份驗(yàn)證:普通用戶和管理員的權(quán)限有所不同。</p><p> (2)正常進(jìn)入
24、網(wǎng)站:身份核實(shí)無(wú)誤后,按權(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> (4)一任務(wù)執(zhí)行完畢后重新返回主頁(yè):執(zhí)行任務(wù)后回到主頁(yè)能夠保證操作的條理性。</p><p> ?。?)執(zhí)行完畢,退出網(wǎng)站:若所要執(zhí)行的任務(wù)全部完成,即可退出網(wǎng)站。</p><p&
25、gt; 為了最終實(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)訪問(wèn)。模塊化就是把程序化分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集起來(lái)組成一個(gè)整體,可以完成指定的滿足問(wèn)題的要求[4]。</p><p> 通過(guò)以上流程分析,可以進(jìn)一步設(shè)計(jì)出圖書(shū)票預(yù)訂網(wǎng)站的總體結(jié)構(gòu)模塊圖,分別從用戶和管理員兩個(gè)不同的角度去設(shè)計(jì)
26、,如圖3-3所示。</p><p> ?。?)用戶模塊:在本網(wǎng)站中,所有的用戶在訪問(wèn)網(wǎng)站的時(shí)候均可以瀏覽查看圖書(shū)信息、將圖書(shū)加入購(gòu)物車(chē)、查看購(gòu)物車(chē)刪除影票、給圖書(shū)做出評(píng)價(jià)、修改個(gè)人基本信息。其功能結(jié)構(gòu)模塊圖如圖3-4所示。</p><p> ?。?)管理模塊:在本網(wǎng)站中,管理員除了要進(jìn)行相關(guān)信息的維護(hù)還有如下主要工作:定時(shí)查看圖書(shū)評(píng)價(jià)信息,審查用戶的評(píng)價(jià)是否具有合法性,刪除惡意評(píng)價(jià);定期對(duì)
27、系統(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ū)管理”、“訂單管理”、“用戶管理”及“評(píng)價(jià)管理”等按鈕供管理員進(jìn)行不同的系統(tǒng)操作。上述功能在前臺(tái)不可見(jiàn),屬于網(wǎng)站的后臺(tái)操作模塊,因此這部分模塊可定義為“后臺(tái)管理”,其功能結(jié)構(gòu)模塊圖如圖3-5所示。</p><p><b
28、> 具體任務(wù)分析如下:</b></p><p> ?、?圖書(shū)管理模塊的基本功能應(yīng)包括添加、刪除、修改圖書(shū)信息等。當(dāng)管理員單擊其中的任何一個(gè)功能按鈕時(shí),都可以進(jìn)行對(duì)網(wǎng)站前臺(tái)顯示的圖書(shū)信息進(jìn)行相關(guān)的操作。</p><p> ?、?用戶管理模塊的基本功能應(yīng)包括網(wǎng)站用戶基本信息查看和注銷(xiāo)處理。其中用戶基本信息查看包括用戶真實(shí)姓名、手機(jī)號(hào)、電子郵箱、地址等。對(duì)于新注冊(cè)的會(huì)員用戶,
29、管理員要對(duì)其注冊(cè)信息進(jìn)行審核。</p><p> ?、?訂單管理模塊的基本功能應(yīng)包括查看用戶已下單的信息、刪除訂單。其中訂單信息包括購(gòu)買(mǎi)者編號(hào)、圖書(shū)名稱(chēng)、放映廳、座位、購(gòu)買(mǎi)訂購(gòu)數(shù)量等。當(dāng)管理員單擊查看按鈕時(shí),將顯示該條訂單的詳細(xì)信息。</p><p> ?、?評(píng)價(jià)管理模塊中,只有購(gòu)買(mǎi)過(guò)圖書(shū)票的網(wǎng)站會(huì)員才能對(duì)圖書(shū)進(jìn)行評(píng)價(jià),管理員可以查看或刪除評(píng)價(jià)信息。用戶評(píng)價(jià)的發(fā)言主題應(yīng)與圖書(shū)相關(guān),這是管理
30、員審核的要點(diǎn),對(duì)于一些惡意評(píng)價(jià),管理員可以選擇刪除。</p><p><b> 3.3 數(shù)據(jù)庫(kù)設(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)化過(guò)程、系統(tǒng)所操縱的數(shù)據(jù)或物質(zhì)的收集(存儲(chǔ)),還有過(guò)程、存儲(chǔ)、外部世界之間的數(shù)據(jù)流或物質(zhì)流[5]。</p
31、><p> 數(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é)合在一起,使用戶可以執(zhí)行指定的任務(wù)。從圖中迅速反饋的信息有助于對(duì)所探討的任務(wù)流的理解進(jìn)行提煉
32、加工。</p><p> 圖書(shū)網(wǎng)站的第一層數(shù)據(jù)流圖,如圖3-6所示。本數(shù)據(jù)流圖描述了圖書(shū)網(wǎng)站后臺(tái)的各個(gè)模塊處理過(guò)程中的數(shù)據(jù)處理的過(guò)程。用戶管理主要是對(duì)用戶信息的查看和刪除;圖書(shū)管理是添加或修改圖書(shū)信息;訂單管理是確認(rèn)訂單或刪除訂單;評(píng)價(jià)管理是對(duì)用戶評(píng)價(jià)的查看和刪除。</p><p> 圖書(shū)信息管理中的數(shù)據(jù)處理圖是本網(wǎng)站的第二層數(shù)據(jù)流圖,如圖3-7所示。描述了在圖書(shū)信息管理模塊中所作操作
33、的數(shù)據(jù)處理。主要包括對(duì)上映圖書(shū)信息的添加、刪除和修改操作。</p><p> 用戶管理數(shù)據(jù)流程圖,如圖3-8所示。描述了用戶信息管理模塊中所作操作的數(shù)據(jù)處理。主要包括對(duì)用戶信息的添加和注銷(xiāo)操作。</p><p> 訂單管理數(shù)據(jù)流圖,如圖3-9所示。描述了用戶下單后,訂單管理模塊中所作操作的數(shù)據(jù)處理。網(wǎng)站管理員的主要操作包括查看訂單和刪除訂單。</p><p>
34、 評(píng)價(jià)管理數(shù)據(jù)流圖,如圖3-10所示。描述了已購(gòu)票用戶觀看圖書(shū)后,對(duì)圖書(shū)做出評(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)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型[6]。構(gòu)成E-R圖的基本要素是實(shí)體、屬性和聯(lián)系,其表示方法為: <
35、/p><p> (1)實(shí)體型:用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名; </p><p> (2)屬性:用橢圓形或圓角矩形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);多值屬性由雙線連接;主屬性名稱(chēng)下加下劃線; </p><p> (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ì)
36、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。</p><p> 經(jīng)過(guò)分析,由上面的數(shù)據(jù)流程圖可以得出以下各實(shí)體之間的E-R圖,如圖3-11所示。</p><p><b> 數(shù)據(jù)庫(kù):</b></p><p><b> book表:<
37、/b></p><p> orderinfo表:</p><p><b> user表:</b></p><p><b> 4 系統(tǒng)實(shí)施</b></p><p> 4.1 系統(tǒng)運(yùn)行環(huán)境</p><p> 由于本系統(tǒng)系個(gè)人單獨(dú)開(kāi)發(fā),綜合系統(tǒng)特點(diǎn)、開(kāi)發(fā)時(shí)間等因素,
38、采用傳統(tǒng)的開(kāi)發(fā)方式—瀑布模型開(kāi)發(fā)模式。從節(jié)約成本的角度考慮,開(kāi)發(fā)工具選擇目前網(wǎng)站開(kāi)發(fā)的主流工具JSP+Access 的組合。 </p><p> 4.1.1硬件要求 </p><p> ?。?)CPU:P4 1.8GHz </p><p> (2)內(nèi)存:256MB 以上 </p><p> 4.1.2開(kāi)發(fā)及運(yùn)行環(huán)境 </p>
39、<p> 操作系統(tǒng): Windows </p><p> 開(kāi)發(fā)工具: JSP+Java</p><p> ?。?)數(shù)據(jù)庫(kù):Microsoft Access</p><p> (4)服務(wù)器:Tomcat 6.0</p><p> ?。?)瀏覽器:IE 6.0 以上。 </p><p> 4.2 系統(tǒng)
40、架構(gòu)設(shè)計(jì)</p><p> 目前,網(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)部的和外部的用戶都可以訪問(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)用
41、系統(tǒng)的發(fā)展方向。</p><p> C/S結(jié)構(gòu),即 Client/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)將任務(wù)合理分配到Client 端和Server 端,降低了系統(tǒng)的通訊開(kāi)銷(xiāo),可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì)。C/S之間通過(guò)任意的協(xié)議通信,一般要求有特定的客戶端。C/S程序注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮;由于整體性,必須整體考察,因此在處理出現(xiàn)的問(wèn)題以
42、及系統(tǒng)升級(jí)上難度較大。因?yàn)榭蛻舳诵枰獙?shí)現(xiàn)絕大多數(shù)的業(yè)務(wù)邏輯和界面展示。這種架構(gòu)中,作為客戶端的部分需要承受很大的壓力,因?yàn)轱@示邏輯和事務(wù)處理都包含在其中,通過(guò)與數(shù)據(jù)庫(kù)的交互(通常是SQL或存儲(chǔ)過(guò)程的實(shí)現(xiàn))來(lái)達(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)。在
43、這種結(jié)構(gòu)下,用戶界面完全通過(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é)議支持),一般不需要特定的客戶端,而是需要有統(tǒng)一規(guī)范的客戶端,那就是瀏覽器
44、。B/S架構(gòu)的優(yōu)點(diǎn)在于客戶端和服務(wù)器通過(guò)Internet 進(jìn)行數(shù)據(jù)交換,客戶端基于統(tǒng)一的 Web 瀏覽器,減少了投資,解決了系統(tǒng)維護(hù)升級(jí)的問(wèn)題。另外只有極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),這也就充分保護(hù)了數(shù)據(jù)的安全。B/S架構(gòu)中,顯示邏輯交給了Web瀏覽器,事務(wù)處理邏輯在放在了WebApp上,這樣就避免了龐大的客戶端,減少了客戶端的壓力[7]。</p><p&
45、gt; 總的來(lái)說(shuō),B/S 結(jié)構(gòu)具有如下優(yōu)點(diǎn):無(wú)需安裝客戶端,任何一點(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(客戶機(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ù)介紹<
46、;/p><p> 開(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)站。</p><p> 4.3.1 JSP及其特點(diǎn)</p><p> JSP,全稱(chēng)為Java Server Pages/
47、Servlet。JSP和Servlet都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應(yīng)用體系中的一部分,兩者一般需要放在一起被討論。Servlet的形式和CGI差不多,它是HTML代碼和后臺(tái)程序分開(kāi)的。它們的啟動(dòng)原理也類(lèi)似,都是服務(wù)器接到客戶端的請(qǐng)求后,進(jìn)行應(yīng)答。不同的是,CGI對(duì)每個(gè)客戶請(qǐng)求都打開(kāi)一個(gè)進(jìn)程(Process),而Servlet卻在響應(yīng)第一個(gè)請(qǐng)求的時(shí)候被載入,一旦Servl
48、et被載入,便處于已執(zhí)行狀態(tài)。對(duì)于以后其他用戶的請(qǐng)求,它并不打開(kāi)進(jìn)程,而是打開(kāi)一個(gè)線程(Thread),將結(jié)果發(fā)送給客戶。由于線程與線程之間可以通過(guò)生成自己的父線程(Parent Thread)來(lái)實(shí)現(xiàn)資源共享,這樣就減輕了服務(wù)器的負(fù)擔(dān),所以,Java Servlet可以用來(lái)做大規(guī)模的應(yīng)用服務(wù)[8]。</p><p> JSP技術(shù)主要具備以下特點(diǎn):</p><p> (1)將內(nèi)容的產(chǎn)生和
49、顯式進(jìn)行分離:使用JSP技術(shù),Web開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)志來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)志或者小腳本來(lái)產(chǎn)生頁(yè)面上的動(dòng)態(tài)內(nèi)容。</p><p> ?。?)強(qiáng)調(diào)可重用的群組件:絕大多數(shù)JSP頁(yè)面依賴于可重用且跨平臺(tái)的組件(如:JavaBean或者Enterprise JavaBean)來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或
50、用戶團(tuán)體所使用?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。</p><p> ?。?)采用標(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)的JSP標(biāo)志能夠存取和實(shí)例化JavaBeans組件,設(shè)定或者檢索群組件屬性,下載Applet,
51、以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。</p><p> 目前主流的網(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é)文件,這樣就由生
52、成的Servlet來(lái)對(duì)客戶端應(yīng)答。所以,JSP可以看做是Servlet的腳本語(yǔ)言(Script Language)版。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)。首先,
53、PHP缺乏規(guī)模支持;其次,它缺乏多層結(jié)構(gòu)支持。對(duì)于大負(fù)荷站點(diǎn),解決方法只有一個(gè):分布計(jì)算。數(shù)據(jù)庫(kù)、應(yīng)用邏輯層、表示邏輯層彼此分開(kāi),而且同層也可以根據(jù)流量分開(kāi),群組成二維數(shù)組。而PHP則缺乏這種支持。還有十分重</p><p> 由于JSP/Servlet都是基于Java的,所以它們也具備Java語(yǔ)言的最大優(yōu)點(diǎn)——平臺(tái)無(wú)關(guān)性,也就是所謂的“一次編寫(xiě),隨處運(yùn)行(WORA – Write Once, Run Anyw
54、here)”。除了這個(gè)優(yōu)點(diǎn),JSP/Servlet的效率以及安全性也是相當(dāng)驚人的。因此,JSP/Servlet雖然在國(guó)內(nèi)目前的應(yīng)用并不廣泛,但是其前途不可限量。在調(diào)試JSP代碼時(shí),如果程序出錯(cuò),JSP服務(wù)器會(huì)返回出錯(cuò)信息,并在瀏覽器中顯示。隨著越來(lái)越多的的供貨商將JSP支持加入到他們的產(chǎn)品中,用戶可以使用自己所選擇的服務(wù)器和工具,修改工具和服務(wù)器并不影響目前的應(yīng)用。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)
55、展到能夠支持企業(yè)級(jí)的分布式應(yīng)用,作為采用Java技術(shù)家族的一部分,以及J2EE的一個(gè)成員,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。</p><p> 4.3.2 JavaBean</p><p> JavaBean是一種基于Java的軟件組件,JavaBean和ActiveX控件一樣,可以通過(guò)封裝業(yè)務(wù)邏輯建立一整套可重復(fù)利用的對(duì)象庫(kù)。JSP對(duì)于在Web應(yīng)用中集成JavaBean組
56、件提供了完善的支持。這種支持不僅能縮短開(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ù)提取等。</p><p> 4.3.3 Microsoft Access及其特點(diǎn)</p><p> Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(
57、RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之一[9]。一般電腦均會(huì)安裝,應(yīng)用廣泛。它提供了表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊7種用來(lái)建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象,并且提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化,為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普通用戶不必編寫(xiě)代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access的優(yōu)點(diǎn)具
58、體有以下幾點(diǎn):</p><p> ?。?)存儲(chǔ)方式單一:Access管理的對(duì)象有表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊這7種,以上對(duì)象都存放在后綴為(.mdb)的數(shù)據(jù)庫(kù)文件種,便于用戶的操作和管理。 </p><p> ?。?)面向?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)作是由一系列
59、對(duì)象組成的,對(duì)每個(gè)對(duì)象它都定義一組方法和屬性,以定義該對(duì)象的行為和特征,用戶還可以按需要給對(duì)象擴(kuò)展方法和屬性。通過(guò)對(duì)象的方法、屬性完成數(shù)據(jù)庫(kù)的操作和管理,極大地簡(jiǎn)化了用戶的開(kāi)發(fā)工作。同時(shí),這種基于面向?qū)ο蟮拈_(kāi)發(fā)方式,使得開(kāi)發(fā)應(yīng)用程序更為簡(jiǎn)便。</p><p> ?。?)界面友好、易操作:Access是一個(gè)可視化工具,其風(fēng)格與Windows完全一樣,用戶想要生成對(duì)象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系
60、統(tǒng)還提供了表生成器、查詢生成器、報(bào)表設(shè)計(jì)器以及數(shù)據(jù)庫(kù)向?qū)?、表向?qū)А⒉樵兿驅(qū)?、窗體向?qū)?、?bào)表向?qū)У裙ぞ撸沟貌僮骱?jiǎn)便,容易使用和掌握。 </p><p> ?。?)集成環(huán)境、處理多種數(shù)據(jù)信息:Access基于Windows操作系統(tǒng)下的集成開(kāi)發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ?,極大地提高了開(kāi)發(fā)人員的工作效率,使得建立數(shù)據(jù)庫(kù)、創(chuàng)建表、設(shè)計(jì)用戶界面、設(shè)計(jì)數(shù)據(jù)查詢、報(bào)表打印等可以方便有序地進(jìn)行。 </p>
61、<p> (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)用。</p><p> 4.3
62、.4 Tomcat</p><p> Tomcat是APACHE JAKARTA軟件組織的一個(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
63、規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),而且具備了很多商業(yè)JAVA SERVLET容器的特性,并被一些企業(yè)用于商業(yè)用途。 </p><p> 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)可,成為目前比較流行的Web應(yīng)用服務(wù)器。</p><p> Tomcat是提供一個(gè)支持Servlet和JSP運(yùn)
64、行的容器。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í)行速度不可能與
65、它們相提并論。</p><p> 一般來(lái)說(shuō),大的站點(diǎn)都是將Tomcat與Apache的結(jié)合,Apache負(fù)責(zé)接受所有來(lái)自客戶端的HTTP請(qǐng)求,然后將Servlets和JSP的請(qǐng)求轉(zhuǎn)發(fā)給Tomcat來(lái)處理。Tomcat完成處理后,將響應(yīng)傳回給Apache,最后Apache將響應(yīng)返回給客戶端。</p><p> 4.3.5 數(shù)據(jù)庫(kù)連接</p><p> Acces
66、s作為關(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]。</p><p> 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)程序傳遞SQL指令
67、時(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ù)。</p><p> SUN的JDK中自帶了用來(lái)連接ODBC數(shù)
68、據(jù)源的JDBC驅(qū)動(dòng),寫(xiě)法為:</p><p> Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );Connection cn = DriverManager.getConnection( "jdbc:odbc:數(shù)據(jù)源名", “用戶名”, "口令" );</p><p> JDBC
69、-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)用的
70、方法。因此,需要在客戶端機(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ù)源。</p><p> JDBC- ODBC (Open Database Connectivity,ODBC) 橋驅(qū)動(dòng)程序由Sun 與Merant公司聯(lián)合開(kāi)發(fā),主要功能是把JDBC
71、 API調(diào)用轉(zhuǎn)換成ODBC API 調(diào)用,然后ODBC API調(diào)用針對(duì)供應(yīng)商的ODBC 驅(qū)動(dòng)程序來(lái)訪問(wèn)數(shù)據(jù)庫(kù), 即利用JDBC- ODBC 橋通過(guò)ODBC來(lái)存儲(chǔ)數(shù)據(jù)源,如圖4-1所示。</p><p> 橋作為包sun.jdbc.odbc 與JDK 一起自動(dòng)安裝,無(wú)需特殊配置。Java2SDK 類(lèi)庫(kù)中包含了用于JDBC-ODBC橋接驅(qū)動(dòng)程序的類(lèi), 因此不再需要安裝任何附加包就可以使用。但是客戶機(jī)需要通過(guò)生成數(shù)據(jù)
72、源名(Data Source Names , DSN)來(lái)配置ODBC 管理器。DSN 是一個(gè)把數(shù)據(jù)庫(kù)、驅(qū)動(dòng)程序、一些可選的設(shè)置連接起來(lái)的命名配置。</p><p><b> 5 系統(tǒng)實(shí)現(xiàn)與運(yùn)行</b></p><p> 根據(jù)需求分析及系統(tǒng)設(shè)計(jì)情況,結(jié)合JSP、Access的特點(diǎn)開(kāi)發(fā)出了圖書(shū)網(wǎng)站,在進(jìn)行編碼測(cè)試之后,網(wǎng)站實(shí)現(xiàn)了上面分析的基本功能。在滿足運(yùn)行環(huán)境的條件
73、下,對(duì)系統(tǒng)主要功能的實(shí)現(xiàn)及運(yùn)行界面介紹如下。</p><p> 5.1 登錄頁(yè)面的實(shí)現(xiàn)</p><p> 論壇登陸login.jsp頁(yè)面效果及詳細(xì)功能:</p><p><b> ·管理員登陸</b></p><p><b> ·普通用戶登陸</b></p>
74、<p><b> ·新用戶注冊(cè)</b></p><p> 2、用戶注冊(cè)界面register.jsp:</p><p> ·用戶詳細(xì)信息填寫(xiě),其中用戶名,密碼,密碼確認(rèn),身份證號(hào),電子郵件為必填選項(xiàng),且密碼長(zhǎng)度大于六位,電子郵件必須合法。</p><p><b> ·返回登陸頁(yè)面<
75、/b></p><p> 3、用戶由verify.jsp進(jìn)入訪問(wèn)頁(yè)面home.jsp:</p><p> ?。?)管理員訪問(wèn)首頁(yè),用戶名:admin,密碼:admin</p><p> (2)普通用戶訪問(wèn)首頁(yè),用戶名:zl,密碼:123456</p><p> 4、管理員用管理戶頁(yè)面manageuser.jsp:</p>
76、;<p> 5、管理員用查看用戶信息頁(yè)面detailuser.jsp:</p><p> 6、管理員修改用戶信息頁(yè)面updateuser.jsp:</p><p> 7、管理員刪除用戶信息網(wǎng)頁(yè)dealdeleteuser.jsp:</p><p> 8、管理員添加圖書(shū)網(wǎng)頁(yè)addbook.jsp:</p><p> 9、
77、管理員處理訂單頁(yè)面listorder.jsp:</p><p> 10、管理員處理訂單狀態(tài)頁(yè)面detailorder.jsp:</p><p> 11、管理圖書(shū)頁(yè)面list.jsp:</p><p> 12、管理員查看圖書(shū)詳細(xì)信息detail.jsp:</p><p> 13、管理員修改圖書(shū)信息updatebook.jsp:</
78、p><p> 14、用戶購(gòu)買(mǎi)圖書(shū)頁(yè)面list.jsp:</p><p> 15、用戶購(gòu)買(mǎi)查看修改購(gòu)物車(chē)頁(yè)面cart.jsp:</p><p> 16、用戶購(gòu)買(mǎi)查看訂單頁(yè)面listorder.jsp:</p><p> 16、用戶修改個(gè)人信息頁(yè)面updateuser.jsp:</p><p><b> 六
79、,用戶使用說(shuō)明:</b></p><p> 用戶需要設(shè)置數(shù)據(jù)源,名為bookstore。放在webapps下即可。</p><p> 對(duì)本系統(tǒng)的評(píng)價(jià),課程設(shè)計(jì)的收獲與不足。</p><p> 網(wǎng)站還待完善,本網(wǎng)站以JSP語(yǔ)言作為開(kāi)發(fā)工具,采用 Microsoft Access進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),建立了一個(gè)電子書(shū)店網(wǎng)站,通過(guò)后臺(tái)信息發(fā)布管理實(shí)現(xiàn)了圖書(shū)信息
80、的展示,實(shí)現(xiàn)了該網(wǎng)站的基本功能。文章從需求分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施各方面對(duì)整個(gè)系統(tǒng)進(jìn)行了詳細(xì)分析?,F(xiàn)國(guó)內(nèi)對(duì)于用戶購(gòu)買(mǎi)圖書(shū)的方式仍主要停留在現(xiàn)場(chǎng)購(gòu)買(mǎi)的模式上,但非現(xiàn)場(chǎng)購(gòu)買(mǎi)也越來(lái)越流行。該網(wǎng)站的成功開(kāi)發(fā),能夠免除人們的在場(chǎng)選購(gòu)和排隊(duì)。由于時(shí)間有限,網(wǎng)站在設(shè)計(jì)上并沒(méi)有在提高用戶體驗(yàn)效果上作出過(guò)多的考慮,因此,本網(wǎng)站在用戶體驗(yàn)上存在一定的缺陷。比如即將有的圖書(shū)信息在網(wǎng)站上暫時(shí)并不可見(jiàn),對(duì)于圖書(shū)的介紹也沒(méi)有特別完善,僅僅只是以購(gòu)買(mǎi)為主。在訂夠成功
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- web應(yīng)用技術(shù)課程設(shè)計(jì)——在線影評(píng)系統(tǒng)
- 課程設(shè)計(jì)---java web圖書(shū)管理系統(tǒng)
- 基于web的圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 《圖書(shū)管理系統(tǒng)》課程設(shè)計(jì)
- web開(kāi)發(fā)技課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)的設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- java應(yīng)用課程設(shè)計(jì)---小型圖書(shū)管理系統(tǒng)
- 課程設(shè)計(jì)---課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- c課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì) (2)
- java課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- sql課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- sql圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- vb圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- oracle課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)—課程設(shè)計(jì)報(bào)告
- vf課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論