會員管理系統(tǒng)畢業(yè)設(shè)計論文_第1頁
會員管理系統(tǒng)畢業(yè)設(shè)計論文_第2頁
會員管理系統(tǒng)畢業(yè)設(shè)計論文_第3頁
會員管理系統(tǒng)畢業(yè)設(shè)計論文_第4頁
會員管理系統(tǒng)畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于jsp的會員管理系統(tǒng)摘 要當(dāng)今社會己進(jìn)入信息社會時代,信息己經(jīng)受到社會的廣泛關(guān)注,被看作社會和科學(xué)技術(shù)發(fā)展的三大支柱(材料、能源、信息)之一。信息是管理的基礎(chǔ),是進(jìn)行決策的的基本依據(jù)。在一個組織里,信息己作為人力、物力、財力之外的第四種能源,占有重要的地位。然而,信息是一種非物質(zhì)的,有別于基本資源的新形式的資源。信息也是管理的對象,必須進(jìn)行管理和控制。會員管理系統(tǒng)是將it技術(shù)用于會員信息的管理, 它能夠收集與存儲會員的檔案信息,提供更新與檢索會員信息檔案的接口;提高工作效率。系統(tǒng)采用jsp為編程語言。 論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點的說明了系統(tǒng)設(shè)計的重點、

2、設(shè)計思想、難點技術(shù)和解決方案。關(guān)鍵詞:會員;管理;系統(tǒng);開發(fā)member management system based on jspabstractin todays society has entered the era of information society, information has been widespread concern in society, society and science and technology is seen as the three pillars of development (materials, energy, information)

3、 is one. information is the basis of management is the fundamental basis for decision-making. in an organization, the information has been used as human, material and financial resources beyond the fourth energy, plays an important role. however, the information is a non-material, different from the

4、 basic resources of the new forms of resources. information is also the object of management, must be managed and controlled. member management system is a member of the it technology for information management, it can collect and store the members profile information, providing updates and retrieve

5、 member information file interface; improve work efficiency. system uses jsp as the programming language. paper introduces the development background of the topic, the development and function to complete the process. note the focus of systems design, design ideas, technologies and solutions difficu

6、lt. keywords: member; management; system; development 目 錄摘 要iabstractii1 引言11.1 研究現(xiàn)狀11.2 主要研究的目的及內(nèi)容11.3 研究方法及設(shè)計思路11.3.1 研究方法11.3.2 設(shè)計思路22 需求分析與可行性分析32.1 運(yùn)行需求分析32.2 其他需求分析32.3 可行性分析32.3.1 經(jīng)濟(jì)可行性32.3.2 技術(shù)可行性42.3.3 運(yùn)行可行性42.3.4 時間可行性42.3.5 法律可行性42.4 系統(tǒng)開發(fā)步驟53 相關(guān)技術(shù)簡介63.1 jsp技術(shù)簡介63.2 sqlserver2000數(shù)據(jù)庫63.3 jd

7、bc73.3.1 jdbc支持83.3.2 jdbc一致性83.3.3 jdbc聯(lián)接93.3.4 jdbc驅(qū)動類型103.4 b/s模式分析103.5 servlet123.5.1 定義servlet123.5.2 servlet的特點123.5.3 servlet的主要功能133.5.4 java servlet的優(yōu)勢133.5.5 servlet生命周期133.6 html144 系統(tǒng)分析164.1 系統(tǒng)實現(xiàn)目標(biāo)164.2 系統(tǒng)體系結(jié)構(gòu)164.3 主控流程圖174.4 系統(tǒng)e-r圖185 系統(tǒng)設(shè)計195.1 概要設(shè)計195.2 系統(tǒng)結(jié)構(gòu)設(shè)計195.3 詳細(xì)設(shè)計195.3.1 管理員登錄界面

8、195.3.2 管理員設(shè)置215.3.3 會員檔案管理模塊235.3.4 會員消費(fèi)信息管理模塊255.3.5 會員繳費(fèi)管理模塊285.3.6 后臺操作316 系統(tǒng)調(diào)試與測試336.1 程序調(diào)試336.2 程序的測試336.2.1 測試的重要性及目的336.2.2 測試的步驟346.2.3 測試的主要內(nèi)容34參考文獻(xiàn)37致 謝38外文原文文獻(xiàn)39外文原文翻譯45 1 引言1.1 研究現(xiàn)狀隨著科技發(fā)展和社會進(jìn)步,尤其是計算機(jī)大范圍的普及,計算機(jī)應(yīng)用逐漸由大規(guī)??茖W(xué)計算的海量數(shù)據(jù)處理轉(zhuǎn)向大規(guī)模的事務(wù)處理和對工作流的管理,這就產(chǎn)生了以臺式計算機(jī)為核心,以數(shù)據(jù)庫管理系統(tǒng)為開發(fā)環(huán)境的管理信息系統(tǒng)在大規(guī)模的

9、事務(wù)處理和對工作流的管理等方面的應(yīng)用,特別是在會員信息管理之中的應(yīng)用日益受到人們的關(guān)注。近年來我國信息事業(yè)發(fā)展迅速,手工管理方式在會員信息管理等需要大量事務(wù)處理的應(yīng)用中已顯得不相適應(yīng),采用it技術(shù)提高服務(wù)質(zhì)量和管理水平勢在必行。目前,對外開放必然趨勢使信息行業(yè)直面外國同行單位的直接挑戰(zhàn),因此,信息行業(yè)必須提高其工作效率,改善其工作環(huán)境。這樣,會員信息管理的信息化勢在必行。在傳統(tǒng)的會員信息管理中,其過程往往是很復(fù)雜的,繁瑣的,會員信息管理以會員信息管理為核心,在此過程中又需要經(jīng)過若干道手續(xù),因為整個過程都需要手工操作,效率十分低下,且由于他們之間關(guān)聯(lián)復(fù)雜,統(tǒng)計和查詢的方式各不相同,且會出現(xiàn)信息的

10、重復(fù)傳遞等問題,因此該過程必須實現(xiàn)信息化。我們的系統(tǒng)開發(fā)的整體任務(wù)是實現(xiàn)會員信息管理的系統(tǒng)化、規(guī)范化、自動化和智能化,從而達(dá)到提高單位管理效率的目的。1.2 主要研究的目的及內(nèi)容本課題的目的是使會員信息管理清晰化,透明化,便于操作,易于管理。通過功能模塊的優(yōu)化組合實現(xiàn)不同的管理細(xì)節(jié),使管理過程實現(xiàn)最大程度的自動化與信息化,并能自動對人工操作環(huán)節(jié)進(jìn)行復(fù)查,使會員管理系統(tǒng)出錯率降至最低。在傳統(tǒng)的會員信息管理中,各種管理工作往往是復(fù)雜煩瑣的。會員信息管理的特點是信息處理量比較大,所管理的種類比較繁多,而且由于消費(fèi)、繳費(fèi)等單據(jù)產(chǎn)生量特別大,關(guān)聯(lián)信息多,查詢和統(tǒng)計的方式不盡相同。在管理過程中經(jīng)常會出現(xiàn)信

11、息的重復(fù)傳遞,因此會員信息管理必須實現(xiàn)計算機(jī)化處理。我們系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)會員信息管理的系統(tǒng)化、規(guī)范化、自動化、信息化與智能化,從而達(dá)到提高會員信息管理效率的目的。1.3 研究方法及設(shè)計思路1.3.1 研究方法會員信息管理是信息行業(yè)業(yè)務(wù)流程過程中十分重要且必備的環(huán)節(jié)之一,在信息行業(yè)業(yè)務(wù)流程當(dāng)中起著承上啟下的作用,其重要性不言而喻。但是,目前許多信息行業(yè)在具體的業(yè)務(wù)流程處理過程中仍然使用手工操作的方式來實施,不僅費(fèi)時、費(fèi)力,效率低下,而且無法達(dá)到理想的效果。針對上述問題,采用軟件工程的開發(fā)原理,依據(jù)軟件流程過程規(guī)范,按照需求分析、概要設(shè)計、詳細(xì)設(shè)計、程序編碼、測試、軟件應(yīng)用、軟件維護(hù)等過程

12、開發(fā)了一個會員管理系統(tǒng)。采用jsp作為開發(fā)工具,結(jié)合微軟公司的sqlserver2000數(shù)據(jù)庫,數(shù)據(jù)庫設(shè)計遵循3范式,主要設(shè)計了繳費(fèi)基本信息表、會員基本信息表、消費(fèi)基本信息表、管理系統(tǒng)的用戶口令表等數(shù)據(jù)表。解決了會員管理系統(tǒng)中存在的數(shù)據(jù)安全性、數(shù)據(jù)一致性以及系統(tǒng)運(yùn)行速度等問題。1.3.2 設(shè)計思路(1)系統(tǒng)應(yīng)符合會員信息管理的規(guī)定,滿足信息行業(yè)相關(guān)人員日常使用的需要,并達(dá)到操作過程中的直觀,方便,實用,安全等要求。(2)系統(tǒng)采用模塊化程序設(shè)計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護(hù)人員補(bǔ)充,維護(hù)。 (3)系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護(hù)功能,及時根據(jù)用戶需求進(jìn)行數(shù)據(jù)的添加、刪除、修

13、改、備份等操作。 (4)盡量采用現(xiàn)有軟件環(huán)境及先進(jìn)的管理系統(tǒng)設(shè)計方案,從而達(dá)到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。2 需求分析與可行性分析伴隨著信息行業(yè)的蓬勃發(fā)展和人們辦公自動化意識的增強(qiáng),會員管理部門的工作也越來越繁重,原來的會員管理系統(tǒng)已經(jīng)不能完全滿足相關(guān)人員使用的需要。為了協(xié)助信息行業(yè)開展會員管理工作,提高工作效率,充分利用信息行業(yè)的現(xiàn)有資源,開發(fā)更好的會員管理系統(tǒng)勢在必行。會員管理系統(tǒng)是將it技術(shù)用于會員信息的管理, 它能夠收集與存儲會員信息,提供更新與檢索的接口,協(xié)助信息行業(yè)開展會員管理工作提高工作效率。會員管理系統(tǒng)采用b/s結(jié)構(gòu)、結(jié)合網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)技術(shù)來設(shè)計本系統(tǒng)。

14、開發(fā)語言采用jsp,數(shù)據(jù)庫使用microsoft公司的sqlserver2000數(shù)據(jù)庫。完成以下基本功能:(1)會員檔案管理模塊:會員檔案添加,會員檔案修改,會員檔案刪除。(2)會員消費(fèi)管理模塊:消費(fèi)信息添加,消費(fèi)信息修改,消費(fèi)信息刪除,消費(fèi)信息瀏覽。(3)會員繳費(fèi)管理模塊:會員繳費(fèi)瀏覽,會員繳費(fèi)查詢。(4)系統(tǒng)管理模塊:添加用戶,重新登錄,更改密碼。會員管理系統(tǒng)具有標(biāo)準(zhǔn)會員管理系統(tǒng)所具有的現(xiàn)實中完整的會員管理步驟,完全的虛擬現(xiàn)實實現(xiàn)。真正實現(xiàn)節(jié)約資源、提高效率、業(yè)務(wù)處理的同時真正實現(xiàn)會員管理系統(tǒng)的功能作用。2.1 運(yùn)行需求分析硬件條件:酷睿 cpu、1g ram、10g硬盤以上的pc機(jī);打印

15、機(jī);局域網(wǎng)。軟件條件:windows 7 ie6.0以上。2.2 其他需求分析本系統(tǒng)有較好的可維護(hù)性、可靠性、可理解性、效率。易于用戶理解和操作??删S護(hù)性包括了可讀性、可測試性等含義??煽啃酝ǔ0ㄕ_性和健壯性。開發(fā)過程中,在各種矛盾的目標(biāo)之間作權(quán)衡,并在一定的限制的條件下(經(jīng)費(fèi)、時間、可用的軟、硬件資源等),使上述各方面最大限度的得到滿足。2.3 可行性分析2.3.1 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性研究是對組織的經(jīng)濟(jì)現(xiàn)狀和投資能力進(jìn)行分析,對系統(tǒng)建設(shè)運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對系統(tǒng)建成后可能取得的社會和經(jīng)濟(jì)效益進(jìn)行估計。由于本系統(tǒng)是作為畢業(yè)設(shè)計由我們自己開發(fā)的,在經(jīng)濟(jì)上的投入甚微,系統(tǒng)建成之后將為今后

16、會員信息管理提供很大的方便,估算新系統(tǒng)的開發(fā)費(fèi)用和今后的運(yùn)行、維護(hù)費(fèi)用,估計新系統(tǒng)將獲得的效益,并將費(fèi)用與效益進(jìn)行比較,看是否有利。開發(fā)、運(yùn)行和維護(hù)費(fèi)用主要包括:購買和安裝設(shè)備的費(fèi)用:計算機(jī)硬件、系統(tǒng)軟件、機(jī)房、電源、空調(diào)等;軟件開發(fā)費(fèi)用:若由實習(xí)單位的技術(shù)人員開發(fā),則該項費(fèi)用可以計入下面的人員費(fèi)用一項;人員費(fèi)用:系統(tǒng)開發(fā)人員、操作人員和維護(hù)人員的工資、培訓(xùn)費(fèi)用等;消耗品費(fèi)用:系統(tǒng)開發(fā)所用材料、系統(tǒng)正常運(yùn)行所用消耗品,例如水、電費(fèi),打印紙、軟盤、色帶等開支。所有開支都不大,所以經(jīng)濟(jì)上是可行的。2.3.2 技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的

17、需求等。會員管理系統(tǒng)用的是jsp開發(fā)語言,調(diào)試相對簡單,當(dāng)前的計算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對可行的。軟件方面:由于目前bs模式軟件相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統(tǒng)的需求。2.3.3 運(yùn)行可行性對新系統(tǒng)運(yùn)行后給現(xiàn)行系統(tǒng)帶來的影響(包括組織機(jī)構(gòu)、管理方式、工作環(huán)境等)和后果進(jìn)行估計和評價。同時還應(yīng)考慮現(xiàn)有管理人員的培訓(xùn)、補(bǔ)充,分析在給定時間里能否完成預(yù)定的系統(tǒng)開發(fā)任務(wù)等。運(yùn)行可行性是對組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計劃的可行性。當(dāng)前我國信息化技術(shù)已經(jīng)相當(dāng)普及,各類操作人員水平都

18、有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。本系統(tǒng)的開發(fā),是典型的mis開發(fā),主要是對數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變換,及數(shù)據(jù)的各種報表形式的輸出。采用流行的jsp+sqlserver2000體系,已無技術(shù)上的問題。2.3.4 時間可行性從時間上看,在兩個月的時間里學(xué)習(xí)相關(guān)知識,并開發(fā)會員信息管理系統(tǒng),時間上是有點緊,但不是不可能實現(xiàn),通過兩個多月的努力功能應(yīng)該基本實現(xiàn)。2.3.5 法律可行性(1)所有技術(shù)資料都為合法。(2)開發(fā)過程中不存在知識產(chǎn)權(quán)問題。(3)未抄襲任何已存在的會員信息管理系統(tǒng),不存在侵犯版權(quán)問題。(4)開發(fā)過程中未涉及任何法律責(zé)任。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、

19、從法律上都是完全可靠的。2.4 系統(tǒng)開發(fā)步驟一般說來,管理信息系統(tǒng)的建立與應(yīng)用可以劃分成總體規(guī)劃、系統(tǒng)開發(fā)和系統(tǒng)運(yùn)行三個階段,其中系統(tǒng)開發(fā)階段還可進(jìn)一步分為系統(tǒng)分析、系統(tǒng)設(shè)計和系統(tǒng)實施等工作環(huán)節(jié)。上述各個階段排列成一個嚴(yán)格的線性開發(fā)序列,在每個工作階段均產(chǎn)生完整的技術(shù)文檔作為下一階段工作的指導(dǎo)和依據(jù),每一階段都應(yīng)對文檔進(jìn)行評審,確信該階段工作已完成并達(dá)到要求后才能進(jìn)入下一階段,同時在以后的工作中不能輕易改變前面經(jīng)過評審的成果。上述開發(fā)方式的主要優(yōu)點是便于開發(fā)工作的組織和管理,并且可大大降低管理信息系統(tǒng)開發(fā)的復(fù)雜性。國內(nèi)外許多系統(tǒng)開發(fā)的實例都證明這是一種行之有效的開發(fā)方式。國外曾有人對一些軟件項

20、目開發(fā)各階段的工作量進(jìn)行了統(tǒng)計,結(jié)果表明,在開發(fā)過程中各工作階段所占全部工作量的比重分別達(dá)到系統(tǒng)分析:系統(tǒng)設(shè)計:編程:模塊調(diào)試:系統(tǒng)調(diào)試20%:15%:20%:25%:20%。由此可見,程序編寫在開發(fā)工作中只占很小比例,而調(diào)試工作卻占整個開發(fā)工作量的一半左右,因此“系統(tǒng)開發(fā)就是編程”的習(xí)慣說法顯然是片面的。另據(jù)統(tǒng)計,在建立管理信息系統(tǒng)的三個階段中,總體規(guī)劃和系統(tǒng)開發(fā)階段的工作量約占整個工作量的2/3,而運(yùn)行、維護(hù)階段要占1/3,這說明一個管理信息系統(tǒng)開發(fā)后,仍應(yīng)十分重視它的維護(hù)工作,以便使系統(tǒng)不斷完善并充分發(fā)揮其作用。 3 相關(guān)技術(shù)簡介3.1 jsp技術(shù)簡介jsp(javaserver pag

21、es)是由sun microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它是在傳統(tǒng)的網(wǎng)頁html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp標(biāo)記(tag),從而形成jsp文件(*.jsp)。 用jsp開發(fā)的web應(yīng)用是跨平臺的,即能在linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。jsp技術(shù)使用java編程語言編寫類xml的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。jsp將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于web

22、的應(yīng)用程序的開發(fā)變得迅速和容易。 web服務(wù)器在遇到訪問jsp網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同jsp文件中的html代碼一起返回給客戶。插入的java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 jsp與java servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個html文本,因此客戶端只要有瀏覽器就能瀏覽。jsp的優(yōu)點有:(1)一次編寫,到處運(yùn)行。在這一點上java比php更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比js

23、p/php的局限性是顯而易見的。(3)強(qiáng)大的可伸縮性。從只有一個小的war文件就可以運(yùn)行servlet/jsp,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,java顯示了一個巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點與jsp很像,java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。3.2 sqlserver2000數(shù)據(jù)庫sqlserver2000最初的開發(fā)者的意圖是用sqlserver2000和他們自己的快速低級例程(isam)去連接表格。不管怎樣,在經(jīng)過

24、一些測試后,開發(fā)者得出結(jié)論:sqlserver2000并沒有他們需要的那么快和靈活。這導(dǎo)致了一個使用幾乎和sqlserver2000一樣的api接口的用于他們的數(shù)據(jù)庫的新的sql接口的產(chǎn)生,這樣,這個api被設(shè)計成允許為用于sqlserver2000而寫的第三方代碼更容易移植到sqlserver2000。sqlserver2000是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為美國microsoft公司。目前sqlserver2000被廣泛地應(yīng)用在internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了sqlserver

25、2000作為網(wǎng)站數(shù)據(jù)庫。sqlserver2000的特性有:(1)使用c和c+編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性。(2)支持mac os、windows等多種操作系統(tǒng)。(3)為多種編程語言提供了api。這些編程語言包括c、c+、eiffel、java、perl、python、ruby和tcl等。(4)支持多線程,充分利用cpu資源。(5)優(yōu)化的sql查詢算法,有效地提高查詢速度。(6)既能夠作為一個單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的gb 2312、big5,日文的shift_jis等都可以用作數(shù)

26、據(jù)表名和數(shù)據(jù)列名。(7)提供tcp/ip、jdbc和jdbc等多種數(shù)據(jù)庫連接途徑。(8)提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。(9)可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫 sqlserver2000的應(yīng)用與其他的大型數(shù)據(jù)庫例如oracle、db2等相比,sqlserver2000自有它的不足之處,如規(guī)模小、功能有限等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,sqlserver2000提供的功能已經(jīng)綽綽有余。sqlserver2000管理可以使用命令行工具管理sqlserver2000數(shù)據(jù)庫,也可以使用sqlserver自帶的企業(yè)管理器來進(jìn)行管理,界面友好

27、,操作簡單。sqlserver2000存儲引擎有master,sqlserver2000的默認(rèn)數(shù)據(jù)庫,最為常用。擁有較高的插入,查詢速度,但不支持事務(wù);innodb,事務(wù)型數(shù)據(jù)庫的首選引擎,支持acid事務(wù),支持行級鎖定;bdb源自berkeley db,事務(wù)型數(shù)據(jù)庫的另一種選擇,支持commi和rollback等其他事務(wù)特性;memory,所有數(shù)據(jù)置于內(nèi)存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會在sqlserver2000重新啟動時丟失;merge將一定數(shù)量的myisam表聯(lián)合而成一個整體,在超大規(guī)模數(shù)據(jù)存儲時很有用;archive,非常適

28、合存儲大量的獨(dú)立的,作為歷史記錄的數(shù)據(jù)。因為它們不經(jīng)常被讀取。archive擁有高效的插入速度,但其對查詢的支持相對較差;federated將不同的sqlserver2000服務(wù)器聯(lián)合起來,邏輯上組成一個完整的數(shù)據(jù)庫。非常適合分布式應(yīng)用;cluster/ndb 高冗余的存儲引擎,用多臺數(shù)據(jù)機(jī)器聯(lián)合提供服務(wù)以提高整體性能和安全性。適合數(shù)據(jù)量大,安全和性能要求高的應(yīng)用;csv,邏輯上由逗號分割數(shù)據(jù)的存儲引擎;blackhole,黑洞引擎,寫入的任何數(shù)據(jù)都會消失。另外,sqlserver2000的存儲引擎接口定義良好。有興趣的開發(fā)者通過閱讀文檔編寫自己的存儲引擎。sqlserver2000最常見的應(yīng)

29、用架構(gòu)有單點(single),適合小規(guī)模應(yīng)用;復(fù)制(replication),適合中小規(guī)模應(yīng)用;集群(cluster),適合大規(guī)模應(yīng)用。3.3 jdbcjdbc(java data base connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行sql語句的java api,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用java語言編寫的類和接口組成。jdbc為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的api,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 java api 編寫數(shù)據(jù)庫應(yīng)用程序,同時,jdbc也是個商標(biāo)名。 有了jdbc,向各種關(guān)系數(shù)據(jù)發(fā)送sql語句就是一件很容易的事。

30、換言之,有了jdbc ,就不必為訪問access數(shù)據(jù)庫專門寫一個程序,為訪問oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用jdbc寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送sql調(diào)用。同時,將java語言和jdbc結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運(yùn)行,這也是java語言“編寫一次,處處運(yùn)行”的優(yōu)勢。java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。jdbc對java程序員而言是api,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為api,jdbc為程序開發(fā)提供標(biāo)準(zhǔn)的

31、接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。jdbc使用已有的sql標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如jdbc之間的橋接。jdbc實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實現(xiàn)的接口。java 具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而 jdbc 正是作為此種用途的機(jī)制。jdbc 擴(kuò)展了 java 的功能。例如,用 java 和 jdbc api 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)

32、庫。企業(yè)也可以用 jdbc 通過 intranet 將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機(jī)有 windows、 macintosh 和unix 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用java 編程語言,對從 java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。java 和 jdbc 的結(jié)合會使信息傳播變得容易和經(jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于

33、商務(wù)上的銷售信息服務(wù), java 和jdbc 可為外部客戶提供獲取信息更新的更好方法。3.3.1 jdbc支持jdbc api 既支持?jǐn)?shù)據(jù)庫訪問的兩層模型(c/s),同時也支持三層模型(b/s)。在兩層模型中,java applet或應(yīng)用程序?qū)⒅苯优c數(shù)據(jù)庫進(jìn)行對話。這將需要一個jdbc驅(qū)動程序來與所訪問的特定數(shù)據(jù)庫管理系統(tǒng)進(jìn)行 通訊。用戶的sql語句被送往數(shù)據(jù)庫中,而其結(jié)果將被送回給用戶。數(shù)據(jù)庫可以位于另一臺計算機(jī)上,用戶通過網(wǎng)絡(luò)連接到上面。這就叫做客戶機(jī)/服務(wù)器配置,其中用戶的計算機(jī)為客戶機(jī),提供數(shù)據(jù)庫的計算機(jī)為服務(wù)器。網(wǎng)絡(luò)可以是 intranet(它可將公司職員連接起來),也可以是 int

34、ernet。在三層模型中,命令先是被發(fā)送到服務(wù)的中間層,然后由它將sql 語句發(fā)送給數(shù)據(jù)庫。數(shù)據(jù)庫對 sql 語句進(jìn)行處理并將結(jié)果送回到中間層,中間層再將結(jié)果送回給用戶。mis 主管們都發(fā)現(xiàn)三層模型很吸引人,因為可用中間層來控制對公司數(shù)據(jù)的訪問和可作的的更新的種類。中間層的另一個好處是,用戶可以利用易于使用的高級api,而中間層將把它轉(zhuǎn)換為相應(yīng)的低級調(diào)用。最后,許多情況下三層結(jié)構(gòu)可提供一些性能上的好處。到目前為止,中間層通常都用 c 或 c+ 這類語言來編寫,這些語言執(zhí)行速度較快。然而,隨著最優(yōu)化編譯器(它把 java字節(jié)代碼轉(zhuǎn)換為高效的特定于機(jī)器的代碼)的引入,用 java 來實現(xiàn)中間層將變

35、得越來越實際。這將是一個很大的進(jìn)步,它使人們可以充分利用 java 的諸多優(yōu)點(如堅固、多線程和安全等特征)。jdbc 對于從java的中間層來訪問數(shù)據(jù)庫非常重要。3.3.2 jdbc一致性結(jié)構(gòu)化查詢語言(sql) 是訪問關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。困難之處在于:雖然大多數(shù)的 dbms (數(shù)據(jù)庫管理系統(tǒng))對其基本功能都使用了標(biāo)準(zhǔn)形式的 sql,但它們卻不符合最近為更高級的功能定義的標(biāo)準(zhǔn) sql 語法或語義。例如,并非所有的數(shù)據(jù)庫都支持儲存程序或外部連接,那些支持這一功能的數(shù)據(jù)庫又相互不一致。人們希望 sql 中真正標(biāo)準(zhǔn)的那部份能夠進(jìn)行擴(kuò)展以包括越來越多的功能。但同時 jdbc api 又必須支持現(xiàn)有

36、的 sql。jdbc api 解決這個問題的一種方法是允許將任何查詢字符串一直傳到所涉及的 dbms驅(qū)動程序上。這意味著應(yīng)用程序可以使用任意多的 sql 功能,但它必須冒這樣的風(fēng)險:有可能在某些 dbms 上出錯。事實上,應(yīng)用程序查詢甚至不一定要是 sql,或者說它可以是個為特定的 dbms 設(shè)計的 sql 的專用派生物(例如,文檔或圖象查詢)。jdbc 處理 sql 一致性問題的第二種方法是提供 odbc 風(fēng)格的轉(zhuǎn)義子句,這將在后續(xù)部分中討論。轉(zhuǎn)義語法為幾個常見的 sql 分歧提供了一種標(biāo)準(zhǔn)的 jdbc 語法。例如,對日期文字和已儲存過程的調(diào)用都有轉(zhuǎn)義語法。對于復(fù)雜的應(yīng)用程序,jdbc 用第

37、三種方法來處理 sql 的一致性問題它利用 databasemetadata 接口來提供關(guān)于 dbms 的描述性信息,從而使應(yīng)用程序能適應(yīng)每個 dbms 的要求和功能。由于 jdbc api 將用作開發(fā)高級數(shù)據(jù)庫訪問工具和 api 的基礎(chǔ) api,因此它還必須注意其所有上層建筑的一致性。符合jdbc標(biāo)準(zhǔn)tm 代表用戶可依賴的 jdbc 功能的標(biāo)準(zhǔn)級別。要使用這一說明,驅(qū)動程序至少必須支持 ansi sql-2 entry level(ansi sql-2 代表美國國家標(biāo)準(zhǔn)局1992 年所采用的標(biāo)準(zhǔn)。entry level代表sql功能的特定清單)。驅(qū)動程序開發(fā)人員可用 jdbc api 所帶的

38、測試工具包來確定他們的驅(qū)動程序是否符合這些標(biāo)準(zhǔn)。符合 jdbc 標(biāo)準(zhǔn)tm 表示提供者的 jdbc 實現(xiàn)已經(jīng)通過了javasoft 提供的一致性測試。這些一致性測試將檢查 jdbc api中定義的所有類和方法是否都存在,并盡可能地檢查程序是否具有sql entry level 功能。當(dāng)然,這些測試并不完全,而且 javasoft 目前也無意對各提供者的實現(xiàn)進(jìn)行標(biāo)級。但這種一致性定義的確可對jdbc實現(xiàn)提供一定的可信度。隨著越來越多的數(shù)據(jù)庫提供者、連接提供者、internet 提供者和應(yīng)用程序編程員對 jdbc api 的接受,jdbc 也正迅速成為 java 數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)。3.3.3 jdb

39、c聯(lián)接jdbc聯(lián)接需要做的第一事情是與自己想要使用的 dbms 建立一個連接。這包含 2 個步驟:裝載驅(qū)動程序并建立連接。裝載驅(qū)動程序只需要非常簡單的一行代碼。例如,你想要使用 jdbc-odbc 橋驅(qū)動程序, 可以用下列代碼裝載它:class.forname (sun.jdbc.odbc.jdbcodbcdriver);你的驅(qū)動程序文檔將告訴你應(yīng)該使用的類名。例如, 如果類名是 jdbc.driverxyz ,你將用代碼以下的代碼裝載驅(qū)動程序:class.forname(jdbc.driverxyz);你不需要創(chuàng)建一個驅(qū)動程序類的實例并且用 drivermanager 登記它,因為調(diào)用 cl

40、ass.forname 將自動加載驅(qū)動程序類。如果你曾自己創(chuàng)建實例,你將創(chuàng)建一個不必要的副本,但它不會帶來什么壞處。加載 driver 類后,它們即可用來與數(shù)據(jù)庫建立連接。第二步就是用適當(dāng)?shù)尿?qū)動程序類與 dbms 建立一個連接。下列代碼是一般的做法:connection con = drivermanager.getconnection(url, mylogin, mypassword);這個步驟也非常簡單,最難的是怎么提供 url。如果你正在使用 jdbc-odbc 橋, jdbc url 將以 jdbc:odbc 開始:余下 url 通常是你的數(shù)據(jù)源名字或數(shù)據(jù)庫系統(tǒng)。因此,假設(shè)你正在使用

41、odbc 存取一個叫 fred 的 odbc數(shù)據(jù)源,你的 jdbc url 是 jdbc:odbc:fred 。把 mylogin 及 mypassword 替換為你登陸 dbms 的用戶名及口令。如果你登陸數(shù)據(jù)庫系統(tǒng)的用戶名為 fernanda 口令為 j8,只需下面的2行代碼就可以建立一個連接:string url = jdbc:odbc:fred;connection con = drivermanager.getconnection(url,fernanda, j8);如果你使用的是第三方開發(fā)了的 jdbc驅(qū)動程序,文檔將告訴你該使用什么 subprotocol, 就是在 jdbc u

42、rl 中放在 jdbc 后面的部分。例如, 如果驅(qū)動程序開發(fā)者注冊了 acme 作為 subprotocol, jdbc url 的第一和第二部分將是 jdbc:acme。驅(qū)動程序文檔也會告訴你余下 jdbc url 的格式。jdbc url 最后一部分提供了定位數(shù)據(jù)庫的信息。如果你裝載的驅(qū)動程序識別了提供給 drivermanager.getconnection 的 jdbc url ,那個驅(qū)動程序?qū)⒏鶕?jù) jdbc url 建立一個到指定 dbms 的連接。正如名稱所示,drivermanager 類在幕后為你管理建立連接的所有細(xì)節(jié)。除非你是正在寫驅(qū)動程序,你可能無需使用此類的其它任何方法,

43、一般程序員需要在此類中直接使用的唯一方法是 drivermanager.getconnection。drivermanager.getconnection 方法返回一個打開的連接,你可以使用此連接創(chuàng)建 jdbc statements 并發(fā)送 sql 語句到數(shù)據(jù)庫。在前面的例子里,con 對象是一個打開的連接,并且我們要在以后的例子里使用它。3.3.4 jdbc驅(qū)動類型(1)jdbc-odbc橋加odbc驅(qū)動程序,javasoft橋產(chǎn)品利用odbc驅(qū)動程序提供jdbc訪問。注意,必須將odbc二進(jìn)制代碼(許多情況下還包括數(shù)據(jù)庫客戶機(jī)代碼)加載到使用該驅(qū)動程序的每個客戶機(jī)上。因此,這種類型的驅(qū)動程

44、序最適合于企業(yè)網(wǎng)(這種網(wǎng)絡(luò)上客戶機(jī)的安裝不是主要問題),或者是用java編寫的三層結(jié)構(gòu)的應(yīng)用程序服務(wù)器代碼。(2)本地api,這種類型的驅(qū)動程序把客戶機(jī)api上的jdbc調(diào)用轉(zhuǎn)換為oracle、sybase、informix、db2或其它dbms的調(diào)用。注意,象橋驅(qū)動程序一樣,這種類型的驅(qū)動程序要求將某些二進(jìn)制代碼加載到每臺客戶機(jī)上。(3)jdbc網(wǎng)絡(luò)純java驅(qū)動程序,這種驅(qū)動程序?qū)dbc轉(zhuǎn)換為與dbms無關(guān)的網(wǎng)絡(luò)協(xié)議,之后這種協(xié)議又被某個服務(wù)器轉(zhuǎn)換為一種dbms協(xié)議。這種網(wǎng)絡(luò)服務(wù)器中間件能夠?qū)⑺募僯ava客戶機(jī)連接到多種不同的數(shù)據(jù)庫上。所用的具體協(xié)議取決于提供者。通常,這是最為靈活的j

45、dbc驅(qū)動程序。有可能所有這種解決方案的提供者都提供適合于intranet用的產(chǎn)品。為了使這些產(chǎn)品也支持internet訪問,它們必須處理web所提出的安全性、通過防火墻的訪問等方面的額外要求。幾家提供者正將jdbc驅(qū)動程序加到他們現(xiàn)有的數(shù)據(jù)庫中間件產(chǎn)品中。(4)本地協(xié)議純java驅(qū)動程序,這種類型的驅(qū)動程序?qū)dbc調(diào)用直接轉(zhuǎn)換為dbms所使用的網(wǎng)絡(luò)協(xié)議。這將允許從客戶機(jī)機(jī)器上直接調(diào)用dbms服務(wù)器,是intranet訪問的一個很實用的解決方法。由于許多這樣的協(xié)議都是專用的,因此數(shù)據(jù)庫提供者自己將是主要來源,有幾家提供者已在著手做這件事了。3.4 b/s模式分析 c/s模式主要由客戶應(yīng)用程序

46、(client)、服務(wù)器管理程序(server)和中間件(middleware)三個部件組成??蛻魬?yīng)用程序是系統(tǒng)中用戶與數(shù)據(jù)進(jìn)行交互的部件。服務(wù)器程序負(fù)責(zé)有效地管理系統(tǒng)資源,如管理一個信息數(shù)據(jù)庫,其主要工作是當(dāng)多個客戶并發(fā)地請求服務(wù)器上的相同資源時,對這些資源進(jìn)行最優(yōu)化管理。中間件負(fù)責(zé)聯(lián)結(jié)客戶應(yīng)用程序與服務(wù)器管理程序,協(xié)同完成一個作業(yè),以滿足用戶查詢管理數(shù)據(jù)的要求。 b/s模式是一種以web技術(shù)為基礎(chǔ)的新型的mis系統(tǒng)平臺模式。把傳統(tǒng)c/s模式中的服務(wù)器部分分解為一個數(shù)據(jù)服務(wù)器與一個或多個應(yīng)用服務(wù)器(web服務(wù)器),從而構(gòu)成一個三層結(jié)構(gòu)的客戶服務(wù)器體系。 第一層客戶機(jī)是用戶與整個系統(tǒng)的接口???/p>

47、戶的應(yīng)用程序精簡到一個通用的瀏覽器軟件,如netscapenavigator,微軟公司的ie等。瀏覽器將html代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁。網(wǎng)頁還具備一定的交互功能,允許用戶在網(wǎng)頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的web服務(wù)器。 第二層web服務(wù)器將啟動相應(yīng)的進(jìn)程來響應(yīng)這一請求,并動態(tài)生成一串html代碼,其中嵌入處理的結(jié)果,返回給客戶機(jī)的瀏覽器。如果客戶機(jī)提交的請求包括數(shù)據(jù)的存取,web服務(wù)器還需與數(shù)據(jù)庫服務(wù)器協(xié)同完成這一處理工作。 第三層數(shù)據(jù)庫服務(wù)器的任務(wù)類似于c/s模式,負(fù)責(zé)協(xié)調(diào)不同的web服務(wù)器發(fā)出的sq請求,管理數(shù)據(jù)庫。 b/s模式首先簡化了客戶端。

48、它無需象c/s模式那樣在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。假設(shè)一個企業(yè)的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機(jī)上直接通過瀏覽器查詢數(shù)據(jù),然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯(lián)上會議室的網(wǎng)絡(luò)插口,自己來查詢相關(guān)的數(shù)據(jù)。其次,它簡化了系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)的開發(fā)者無須再為不同級別的用戶設(shè)計開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實現(xiàn)在web服務(wù)器上,并就不同的功能為各個組別的用戶設(shè)置權(quán)限就可以了。各個用戶通過http請求在權(quán)限范圍內(nèi)調(diào)用web服

49、務(wù)器上不同處理程序,從而完成對數(shù)據(jù)的查詢或修改。現(xiàn)代企業(yè)面臨著日新月異的競爭環(huán)境,對企業(yè)內(nèi)部運(yùn)作機(jī)制的更新與調(diào)整也變得逐漸頻繁。相對于c/s,b/s的維護(hù)具有更大的靈活性。當(dāng)形勢變化時,它無須再為每一個現(xiàn)有的客戶應(yīng)用程序升級,而只需對web服務(wù)器上的服務(wù)處理程序進(jìn)行修訂。這樣不但可以提高公司的運(yùn)作效率,還省去了維護(hù)時協(xié)調(diào)工作的不少麻煩。如果一個公司有上千臺客戶機(jī),并且分布在不同的地點,那么便于維護(hù)將會顯得更加重要。 再次,它使用戶的操作變得更簡單。對于c/s模式,客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用b/s模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層

50、的人員都無需培訓(xùn),就可以直接使用。b/s模式的這種特性,還使mis系統(tǒng)維護(hù)的限制因素更少。 最后,b/s特別適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的mis的功能有所擴(kuò)展。這是c/s所無法實現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所需的。這使得企業(yè)的大部分書面文件可以被電子文件取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù)簡化,節(jié)省人力物力。 鑒于b/s相對于c/s的先進(jìn)性,b/s逐漸成為一種流行的mis系統(tǒng)平臺。各軟件公司紛紛推出自己的internet方案,基于web的財務(wù)系統(tǒng)、基于web的erp。一些企業(yè)已經(jīng)領(lǐng)先一步開始使用它,并且收到了一定的成效。 b/s模式的新穎與流行,和在某些方面相對于c

51、/s的巨大改進(jìn),使b/s成了mis系統(tǒng)平臺的首選。本系統(tǒng)也采用b/s結(jié)構(gòu)開發(fā)。3.5 servlet3.5.1 定義servletservlet(server applet),全稱java servlet,未有中文譯文。是用java編寫的服務(wù)器端程序。其主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)web內(nèi)容。狹義的servlet是指java語言實現(xiàn)的一個接口,廣義的servlet是指任何實現(xiàn)了這個servlet接口的類,一般情況下,人們將servlet理解為后者。最早支持servlet標(biāo)準(zhǔn)的是javasoft的java web server。此后,一些其它的基于java的web服務(wù)器開始支持標(biāo)

52、準(zhǔn)的servlet。servlet是用java語言編寫的小程序。servlet運(yùn)行于支持java的應(yīng)用服務(wù)器中。從實現(xiàn)上講,servlet可以響應(yīng)任何類型的請求,但絕大多數(shù)情況下servlet只用來擴(kuò)展基于http協(xié)議的web服務(wù)器。servlet可以被認(rèn)為是服務(wù)器端的applet。servlet被web服務(wù)器加載和執(zhí)行,就如同applet被瀏覽器加載和執(zhí)行一樣。要寫servlet,你先安裝一個jdk1.3吧,再裝一個服務(wù)器,如tomcat,比較好,簡單實用寫serlvet夠了。如果你想寫ejb等東西 ,可能要裝一個weblogic了。beans可以被其他的java程序調(diào)用完成特定功能或者信息

53、存儲。jsp中主要使用httpserveltrequest接口處理表單操作。(1)getparameter():可以得到表單參數(shù)的值。(2)getparametervalues():可以得到多次出現(xiàn)的參數(shù)(復(fù)選框)的值。(3)getparameternames():可以得到當(dāng)前請求中所有參數(shù)的完整列表。如果參數(shù)存在但沒有相應(yīng)的值,那么getparameter()返回值為空的string;如果沒有這樣的參數(shù),則返回null。大小寫敏感。3.5.2 servlet的特點servlet是java技術(shù)對cgi編程的回答。servlet程序在服務(wù)器端運(yùn)行,動態(tài)地生成web頁面。與傳統(tǒng)的cgi和許多其他類

54、似cgi的技術(shù)相比,java servlet具有更高的效率,更容易使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資。高效:在傳統(tǒng)的cgi中,每個請求都要啟動一個新的進(jìn)程,如果cgi程序本身的執(zhí)行時間較短,啟動進(jìn)程所需要的開銷很可能反而超過實際執(zhí)行時間。而在servlet中,每個請求由一個輕量級的java線程處理(而不是重量級的操作系統(tǒng)進(jìn)程)。在傳統(tǒng)cgi中,如果有n個并發(fā)的對同一cgi程序的請求,則該cgi程序的代碼在內(nèi)存中重復(fù)裝載了n次;而對于servlet,處理請求的是n個線程,只需要一份servlet類代碼。在性能優(yōu)化方面,servlet也比cgi有著更多的選擇,比如緩沖以前的計算結(jié)果,

55、保持?jǐn)?shù)據(jù)庫連接的活動,等等。方便:servlet提供了大量的實用工具例程,例如自動地解析和解碼html表單數(shù)據(jù)、讀取和設(shè)置http頭、處理cookie、跟蹤會話狀態(tài)等。功能強(qiáng)大:在servlet中,許多使用傳統(tǒng)cgi程序很難完成的任務(wù)都可以輕松地完成。例如,servlet能夠直接和web服務(wù)器交互,而普通的cgi程序不能。servlet還能夠在各個程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫連接池之類的功能很容易實現(xiàn)??梢浦残院茫簊ervlet用java編寫,servlet api具有完善的標(biāo)準(zhǔn)。因此,為i-planet enterprise server寫的servlet無需任何實質(zhì)上的改動即可移植到apa

56、che、microsoft iis或者webstar。幾乎所有的主流服務(wù)器都直接或通過插件支持servlet。節(jié)省投資:不僅有許多廉價甚至免費(fèi)的web服務(wù)器可供個人或小規(guī)模網(wǎng)站使用,而且對于現(xiàn)有的服務(wù)器,如果它不支持servlet的話,要加上這部分功能也往往是免費(fèi)的(或只需要極少的投資)。3.5.3 servlet的主要功能servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)web內(nèi)容。這個過程為:(1)客戶端發(fā)送請求至服務(wù)器端。(2)服務(wù)器將請求信息發(fā)送至servlet。(3)servlet生成響應(yīng)內(nèi)容并將其傳給server。響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求。(4)服務(wù)器將響

57、應(yīng)返回給客戶端。servlet看起來像是通常的java程序。servlet導(dǎo)入特定的屬于java servlet api的包。因為是對象字節(jié)碼,可動態(tài)地從網(wǎng)絡(luò)加載,可以說servlet對server就如同applet對client一樣,但是,由于servlet運(yùn)行于server中,它們并不需要一個圖形用戶界面。從這個角度講,servlet也被稱為faceless object。3.5.4 java servlet的優(yōu)勢 (1)servlet可以和其他資源(文件、數(shù)據(jù)庫、applet、java應(yīng)用程序等)交互,以生成返回給客戶端的響應(yīng)內(nèi)容。如果需要,還可以保存請求響應(yīng)過程中的信息。(2)采用servlet,服務(wù)器可以完全授權(quán)對本地資源的訪問(如數(shù)據(jù)庫),并且servlet自身將會控制外部用戶的訪問數(shù)量及訪問性質(zhì)。(3)servlet可以是其它服務(wù)的客戶端程序,例如,它們可以用于分布式的應(yīng)用系統(tǒng)中,可以從本地硬盤,或者通過網(wǎng)絡(luò)從遠(yuǎn)端硬盤激活servlet。(4)servlet可被鏈接(chain)。一個servlet可以調(diào)用另一個或一系列servlet,即成為它的客戶端。(5)采用servlet t

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論