基于JAVA的出租車管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科論文_第1頁
基于JAVA的出租車管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科論文_第2頁
基于JAVA的出租車管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科論文_第3頁
基于JAVA的出租車管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科論文_第4頁
基于JAVA的出租車管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科論文_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于JAVA的出租車管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘 要本文采用結(jié)構(gòu)化系統(tǒng)分析的方法,闡述了出租車管理系統(tǒng)的開發(fā)過程、操作流程及其一些核心的技術(shù)。本文首先進(jìn)行了項(xiàng)目概述,簡單介紹了項(xiàng)目開發(fā)的背景、項(xiàng)目開發(fā)的目的和項(xiàng)目開發(fā)的意義;接下來是系統(tǒng)規(guī)劃階段,通過實(shí)際的業(yè)務(wù)流程的調(diào)研,分析了系統(tǒng)的組織結(jié)構(gòu),具體完成了出租車管理系統(tǒng)的需求分析、可行性分析、現(xiàn)行業(yè)務(wù)流程分析,并通過對現(xiàn)行業(yè)務(wù)流程的優(yōu)化,得出了系統(tǒng)的業(yè)務(wù)流程;之后是系統(tǒng)分析,具體完成了數(shù)據(jù)流分析和數(shù)據(jù)字典;系統(tǒng)設(shè)計(jì)階段主要完成了功能模塊的劃分、數(shù)據(jù)庫的設(shè)計(jì)和系統(tǒng)界面設(shè)計(jì)。該階段對各個(gè)模塊的功能進(jìn)行了詳細(xì)設(shè)計(jì),形成了本系統(tǒng)的功能模塊圖,在此基礎(chǔ)上選擇了合適

2、的開發(fā)模式;數(shù)據(jù)庫的設(shè)計(jì)先進(jìn)行了概念結(jié)構(gòu)設(shè)計(jì),之后進(jìn)行了邏輯結(jié)構(gòu)設(shè)計(jì),最后完成了數(shù)據(jù)庫表的設(shè)計(jì)。根據(jù)前幾個(gè)階段的分析和設(shè)計(jì),該系統(tǒng)決定采用B/S結(jié)構(gòu),JSP作為開發(fā)技術(shù),數(shù)據(jù)庫采用Microsoft SQL Server 2000,完成了系統(tǒng)的程序?qū)嵤?。本系統(tǒng)的設(shè)計(jì)實(shí)施為出租車管理系統(tǒng)的運(yùn)行做基礎(chǔ),為出租車公司出租車的管理提供良好的條件。關(guān)鍵詞:出租車;管理系統(tǒng);結(jié)構(gòu)化分析 The Design and Implement of taxi management systemAbstractIn this paper, structured systems analysis, describes

3、 the process of the taxi management system development, operational processes and some of its core technology. This paper carried out the project overview, a brief background of project development, project development and project development objective of the meaning; followed by the system planning

4、 stage, the actual business processes through research and analysis of the systems organizational structure, specifically the completion of the taxi management system requirements analysis, feasibility analysis, the existing business process analysis, and optimization of existing business processes,

5、 business processes, the system obtained; followed by systematic analysis of the specific completion of the data flow analysis and data dictionary; system completed the design phase the main functional modules of the division, the database design and system interface design. This phase of the functi

6、on of each module in detail the design, forming a functional block diagram of the system, on this basis, have chosen the right development model; database design first tested the concept design, followed by a logic design, and finally completed the design of the database table.According to previous

7、analysis and design phase, the system decided to use C / S structure, C + + as the development of technology, the database uses Microsoft SQL Server 2000, completed a systematic process to implement. Design and implementation of this system for the operation of the taxi management system as a founda

8、tion for the management of the taxi car rental companies provide good conditions.Key Words:taxi; Management System; Structured Analys目 錄摘 要iAbstractii1 引言21.1 項(xiàng)目開發(fā)的背景21.2 項(xiàng)目開發(fā)的目的22 可行性分析及總體設(shè)計(jì)原則22.1 可行性分析22.1.1 技術(shù)可行性22.1.2 經(jīng)濟(jì)可行性22.1.3 社會可行性22.2 總體設(shè)計(jì)原則23 系統(tǒng)分析23.1 業(yè)務(wù)流程分析23.2 數(shù)據(jù)流圖23.3 數(shù)據(jù)字典24 系統(tǒng)設(shè)計(jì)24.1 系統(tǒng)

9、設(shè)計(jì)及接口設(shè)計(jì)24.2 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)24.2.1 概念結(jié)構(gòu)設(shè)計(jì)24.2.2 數(shù)據(jù)庫表設(shè)計(jì)24.3 系統(tǒng)開發(fā)工具與開發(fā)模式24.3.1 JSP簡介24.3.2 JSP運(yùn)行原料24.3.3 JSP頁面組成24.3.4 JSP運(yùn)行環(huán)境24.3.5 SQL server200024.3.6 系統(tǒng)開發(fā)模式25 系統(tǒng)實(shí)現(xiàn)25.1 登錄模塊25.1.1 登錄界面25.1.2 登錄流程圖25.2 出租公司管理界面25.3 出租車管理界面25.4 經(jīng)營許可證打印界面25.5 投訴管理界面25.6 投訴信息添加界面25.7 員工添加界面26 軟件測試與分析26.1 系統(tǒng)測試的定義26.2 系統(tǒng)測試的目的及意義2

10、6.3 系統(tǒng)測試的重要性26.4 系統(tǒng)測試的常用方法26.5 測試環(huán)境與測試條件26.6 系統(tǒng)運(yùn)行情況26.7 測試總結(jié)2總結(jié)與展望2參考文獻(xiàn)2致 謝2 外文原文2中文翻譯21 引言 1.1 項(xiàng)目開發(fā)的背景隨著經(jīng)濟(jì)的發(fā)展,出租車的數(shù)量不斷增加,出租車已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚囊徊糠?,出租車公司的管理日益繁重,從而對出租車的管理要求也更加?yán)格。在傳統(tǒng)的手工管理時(shí)期,出租車公司出租車的各方面的管理都需要耗費(fèi)大量紙張的精力,且由于業(yè)務(wù)量的日益增多,出車記錄及出車預(yù)約等任務(wù)非常復(fù)雜,都嚴(yán)重的影響了出租車公司的發(fā)展。經(jīng)常造成出租車信息記錄丟失,極大地影響了出租車公司的管理。出租車公司要生存發(fā)展,就

11、必須在各個(gè)方面加強(qiáng)管理,并要求出租車公司有更高的信息化集成,能夠?qū)Τ鲎廛嚬镜恼w資源進(jìn)行集成管理以及計(jì)算機(jī)化的管理?,F(xiàn)代出租車公司已意識到,出租車公司間的競爭是綜合實(shí)力的競爭,要求出租車公司有更強(qiáng)的資金實(shí)力,更快的市場響應(yīng)速度。這就要求出租車公司統(tǒng)一計(jì)劃,協(xié)調(diào)生產(chǎn)步驟,匯總信息,調(diào)配出租車公司內(nèi)部資源,實(shí)現(xiàn)既要獨(dú)立又要統(tǒng)一的資源共享管理。隨著信息技術(shù)的發(fā)展,出租車公司為提高出租車管理的效率,加快出租車公司的運(yùn)轉(zhuǎn)速度,決定開發(fā)“出租車管理系統(tǒng)”。1.2 項(xiàng)目開發(fā)的目的出租車管理系統(tǒng)的開發(fā)目的是使出租車公司出租車的管理模式從手工記錄轉(zhuǎn)變成信息管理,為其出租車管理提供方便條件。對出租車公司的實(shí)際情

12、況進(jìn)行調(diào)研之后,進(jìn)行詳細(xì)的需求分析,對現(xiàn)有的管理模式進(jìn)行改進(jìn),開發(fā)出一套新型的管理系統(tǒng),從中領(lǐng)悟系統(tǒng)開發(fā)的思想,掌握系統(tǒng)開發(fā)的流程和方法。隨著信息系統(tǒng)的不斷完善,出租車公司的管理將越來越依賴于信息化的管理。所以系統(tǒng)開發(fā)將圍繞出租車公司的實(shí)際情況,使之能迅速適應(yīng)出租車公司的需要。隨著出租車公司的規(guī)模不斷變大,管理系統(tǒng)也將不斷完善,使其能更加適合出租車公司的發(fā)展需求。出租車管理系統(tǒng)的實(shí)施具有如下現(xiàn)實(shí)意義:第一,節(jié)省出租車管理的管理人員;第二,出租車公司管理人員可以隨時(shí)瀏覽查看,而且更加直觀;第三,改變了以前工資手工記賬的方式,電腦錄入更加方便快捷;第四,實(shí)現(xiàn)了出租車管理的計(jì)算機(jī)化;第五,對不同信息

13、進(jìn)行分類和管理。2 可行性分析及總體設(shè)計(jì)原則2.1 可行性分析為避免投資失誤,保證新系統(tǒng)的成功開發(fā)和運(yùn)行,從技術(shù)、經(jīng)濟(jì)和社會三方面對本系統(tǒng)的可行性進(jìn)行了分析和研究??尚行苑治鍪峭ㄟ^對項(xiàng)目的主要內(nèi)容和配套條件,如市場需求、資源供應(yīng)、建設(shè)規(guī)模、工藝路線、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等,從技術(shù)、經(jīng)濟(jì)、工程等方面進(jìn)行調(diào)查研究和分析比較,并對項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會環(huán)境影響進(jìn)行預(yù)測,從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意見,為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法。可行性分析應(yīng)具有預(yù)見性、公正性、可靠性、科學(xué)性的特點(diǎn)??尚行匝芯恐饕獌?nèi)容是要求以全面、系統(tǒng)的分析為

14、主要方法,經(jīng)濟(jì)效益為核心,圍繞影響項(xiàng)目的各種因素,運(yùn)用大量的數(shù)據(jù)資料論證擬建項(xiàng)目是否可行。對整個(gè)可行性研究提出綜合分析評價(jià),指出優(yōu)缺點(diǎn)和建議。為了結(jié)論的需要,往往還需要加上一些附件,如試驗(yàn)數(shù)據(jù)、論證材料、計(jì)算圖表、附圖等,以增強(qiáng)可行性報(bào)告的說服力軟件可行性分析最根本的任務(wù)是對以后的行動(dòng)方針提出建議。如果問題沒有可行的解釋,分析員應(yīng)該建議停止這項(xiàng)開發(fā)工程,以避免時(shí)間、資源、人力和金錢的浪費(fèi);如果問題值得解,分析員應(yīng)該推薦一個(gè)較好的解決方案,并且為工程制定一個(gè)初步的計(jì)劃。 2.1.1 技術(shù)可行性本系統(tǒng)的開發(fā)基于JSP和SQL Server Express2000數(shù)據(jù)庫技術(shù)。SQL Server 2

15、000 與JSP集成在一起,可以輕松開發(fā)功能豐富、存儲安全、可快速部署的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序5。出租車管理系統(tǒng)是一個(gè)基于數(shù)據(jù)庫管理和查詢的系統(tǒng),現(xiàn)有的技術(shù)已較為成熟,硬件、軟件的性能要求、環(huán)境條件等各項(xiàng)條件良好,利用現(xiàn)有技術(shù)條件可以達(dá)到該系統(tǒng)的功能目標(biāo)6。本人在學(xué)校期間已經(jīng)掌握J(rèn)SP和SQL Server2000的設(shè)計(jì)思想和代碼編寫。同時(shí),考慮給予的開發(fā)期限也較為充裕,預(yù)計(jì)系統(tǒng)是可以在規(guī)定期限內(nèi)完成開發(fā)的。Java Server Page 簡介:Java Server Page或簡稱為JSP是由Sun公司在Java語言上開發(fā)出來的一種動(dòng)態(tài)網(wǎng)頁制作技術(shù),它提供了一種建立動(dòng)態(tài)網(wǎng)頁的簡單方法,并為開發(fā)人

16、員提供了一個(gè)Server端框架,基于這個(gè)框架,開發(fā)人員可以綜合使用 HTML,XML,JAVA語言以及其他腳本語言,靈活,快速地創(chuàng)建和維護(hù)動(dòng)態(tài)網(wǎng)頁,特別是目前的商業(yè)系統(tǒng)。作為JavaTM 技術(shù)的一部分,JSP能夠快速的開發(fā)出基于所有Web服務(wù)器和應(yīng)用服務(wù)器環(huán)境,獨(dú)立于平臺的應(yīng)用程序,而且具有非常強(qiáng)的可伸縮性。同時(shí),JSP把用戶界面從系統(tǒng)內(nèi)容中分離開來,使得設(shè)計(jì)人員能夠在不改變底層動(dòng)態(tài)內(nèi)容的前提下改變祖國網(wǎng)頁布局。用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計(jì)和格式化最終頁面,并使用JSP標(biāo)識或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請求變化的,例如請求賬戶信息或者特定的

17、一瓶酒的價(jià)格等)。生成內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運(yùn)行。由于核心邏輯被封裝在標(biāo)識和JavaBeans中,所以Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。 在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。這樣跨平臺的特性己包含了目前大部份網(wǎng)站服務(wù)器配置環(huán)境,再加上它的語法寫作方

18、式可媲美ASP般的易學(xué)易懂,而且在網(wǎng)絡(luò)安全技術(shù)方面甚至已超越ASP技術(shù)。所以,相信很快的時(shí)間內(nèi)極有可能取代現(xiàn)有網(wǎng)頁編譯技術(shù),而成為商業(yè)網(wǎng)站的新標(biāo)準(zhǔn)。在本節(jié)中我們將會討論JSP技術(shù)的特性,讓您更加了解這項(xiàng)新技術(shù)。Microsoft SQLServer2000 簡介:SQLServer2000是一個(gè)基于關(guān)系型數(shù)據(jù)庫模型建立的數(shù)據(jù)庫管理系統(tǒng)軟件(DBMS)。它幫助用戶方使地得到所需信息,并提供強(qiáng)大的數(shù)據(jù)處理工具。它可以幫助用戶組織和共享數(shù)據(jù)庫信息,以便于根據(jù)數(shù)據(jù)庫信息作出有效的決策。另外,僅有這樣個(gè)數(shù)據(jù)庫管理系統(tǒng)軟件(DBMS),則只能進(jìn)行一些信息系統(tǒng)所需要的簡單數(shù)據(jù)處理,且對操作者有較高的操作技能

19、要求。因此,信息系統(tǒng)的開發(fā)者都是在某種數(shù)據(jù)庫管理系統(tǒng)軟件DBMS環(huán)境下編寫相應(yīng)的應(yīng)川程序,以形成一個(gè)能夠滿足應(yīng)用需求且操作盡可能簡單的應(yīng)用型信息系統(tǒng),這被稱之為二次開發(fā)。 SQLServer2000 還具有以下特點(diǎn):1使信息更易于查找和使用SQLServer2000繼續(xù)為簡便地查找信息提供易于使用的工具。2支持 Web 功能的信息共享SQLServer2000 可以通過企業(yè)內(nèi)部網(wǎng)絡(luò)Internet 很簡便地實(shí)現(xiàn)信息共享,而且它可以很容易地將數(shù)據(jù)庫定位到瀏覽器中,它將桌面數(shù)據(jù)庫的功能和網(wǎng)站的功能結(jié)合在一起。3用于信息管理的強(qiáng)大解決方案高級用戶和開發(fā)人員可以創(chuàng)建那些將SQLServer2000界面

20、(客戶端)的易用性和SQL服務(wù)器的可擴(kuò)展性和可靠性結(jié)合在一起的解決方案。4改變了數(shù)據(jù)庫窗口可在SQLServer2000容納并顯示新的對象,增強(qiáng)了SQLServer2000 數(shù)據(jù)庫的易用性。5提供名稱自動(dòng)更正功能自動(dòng)解決當(dāng)用戶重新命名數(shù)據(jù)庫對象時(shí)出現(xiàn)的常見負(fù)面效應(yīng)。例如,當(dāng)用戶重命名表中的字段時(shí),將自動(dòng)在諸如查詢的相關(guān)對象中進(jìn)行相應(yīng)的更改。6具有子數(shù)據(jù)表功能子數(shù)據(jù)表在同一窗口中,提供了嵌套式的視圖,這樣就可以在同一窗口中專注于相關(guān)的數(shù)據(jù)并對其進(jìn)行編輯。7 用戶只需簡單地將SQLServer2000對象(表、查詢等)從數(shù)據(jù)庫放到ODBC數(shù)據(jù)源中,即可從 Microsoft SQLServer20

21、00中將數(shù)據(jù)導(dǎo)出到Microsoft ACCESS 2000 。8數(shù)據(jù)訪問頁功能該功能可使用戶快捷方便地創(chuàng)建數(shù)掂 HTML頁,并通過數(shù)據(jù) HTML頁,將數(shù)據(jù)庫應(yīng)用擴(kuò)展到企業(yè)內(nèi)部網(wǎng)絡(luò) Internet上。這將幫助用戶比以往更快捷、高效的方式共享信息。9共享組件的集成SQLServer2000利用新的 Web組件和位于瀏覽器中的 COM 控件,為用戶提供了多種查看和分析數(shù)據(jù)的方式。10Microsoft SQL Server 交互性Microsoft SQLServer2000支持OLE DB,使用戶可以將SQLServer2000 界面的易用性與諸如 Microsoft SQL Server的后

22、端企業(yè)數(shù)據(jù)庫的可升級性相結(jié)合。JavaBeans 簡介JSP作為一個(gè)很好的動(dòng)態(tài)網(wǎng)站開發(fā)語言得到了越來越廣泛的應(yīng)用,在各類JSP應(yīng)用程序中,JSP + JavaBean的組合成為了一種事實(shí)上最常見的JSP程序的標(biāo)準(zhǔn). JavaBean是描述Java的軟件組件模型,有點(diǎn)類似于Microsoft的COM組件概念。在Java模型中,通過JavaBean可以無限擴(kuò)充Java程序的功能,通過JavaBean的組合可以快速的生成新的應(yīng)用程序。對于程序員來說,最好的一點(diǎn)就是JavaBean可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對于程序的易維護(hù)性等等也有很重大的意義。JavaBean通過Java虛擬機(jī)(Java Virt

23、ual Machine)可以得到正確的執(zhí)行,具有平臺無關(guān)性。一個(gè)JavaBean有三個(gè)部分組成: 1.屬性(Property)Bean的屬性就是對象的屬性,但提供了屬性讀取和設(shè)置的接口支持。例如一個(gè)時(shí)鐘Bean可以有時(shí)區(qū)和鎮(zhèn)鈴屬性,日歷Bean可以有年份和月份屬性。每個(gè)屬性通常遵守簡單的方法命名規(guī)則。這樣可以很方便的找出Bean提供的屬性,然后查詢屬性值或改變屬性值,對Bean進(jìn)行操作。2.方法(Method)由于Bean本身是Java對象,調(diào)用這個(gè)對象的方法是與其交互作用的唯一途徑。JavaBean嚴(yán)格遵守面向?qū)ο蟮念愒O(shè)計(jì)邏輯,不讓外界訪問其任何實(shí)例字段(沒有Public字段)。這樣,方法調(diào)

24、用的是接觸Bean的唯一途徑。3.事件(Event)Bean與其他軟件組件交流信息的主要方式是發(fā)送和接收事件。這與對象之間通過消息通信類似。JavaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從JSP誕生后,JavaBean更多的應(yīng)用在非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出來了越來越強(qiáng)的生命力。利用非可視化JavaBean, 來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等等,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺程序(如JSP)的分離,使得系統(tǒng)具有更好的健壯性和靈活性。JAVA 簡介 Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序,必須設(shè)計(jì)對象。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,

25、因而客戶端上必須具有相應(yīng)平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定的平臺編譯代碼的束縛。Java采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須聲明。Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中。Java采用靜態(tài)聯(lián),即Java的對象引用必須在編譯時(shí)的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類型檢查。Java語言是一種與平臺無關(guān)的編程語言,它具有“一次編寫,隨處運(yùn)行”的特點(diǎn),所以,非常適合于分布式的網(wǎng)絡(luò)編程。隨著 Internet網(wǎng)絡(luò)在我國的迅速普及,參與和從事網(wǎng)絡(luò)編程的人員也在不斷地增加,同時(shí),也將有更多的網(wǎng)絡(luò)開

26、發(fā)者選用Java語言作為編程工具,而一些C和C+程序員也在逐步轉(zhuǎn)向應(yīng)用Java語言編寫程序。JDBC 驅(qū)動(dòng)程序簡介:從編程的角度出發(fā),有兩個(gè)主要的類負(fù)責(zé)建立與數(shù)據(jù)庫的連接。第一個(gè)類DriverManager是在 JDBC API 中提供的為數(shù)不多的實(shí)際類。 DriverManager負(fù)責(zé)管理已注冊驅(qū)動(dòng)程序的集合,實(shí)質(zhì)上就是提取使用驅(qū)動(dòng)程序的細(xì)節(jié),這樣程序員就不必直接處理它們。第二個(gè)類是實(shí)際的 JDBC Driver類。JDBC驅(qū)動(dòng)程序有四種類型。 第一種驅(qū)動(dòng)程序:它們都使用 JDBC-ODBC 橋,這是作為 JDK 的一個(gè)標(biāo)準(zhǔn)部分包括的。第一種驅(qū)動(dòng)程序通過附加在JDBC-ODBC 橋的“開放式

27、數(shù)據(jù)庫連接性”(Open DataBase Connectivity(ODBC)驅(qū)動(dòng)程序來區(qū)分。要連接到一個(gè)不同的數(shù)據(jù)源,您只需要使用 ODBC 管理員注冊(或有效地綁定)一個(gè)不同的 ODBC 數(shù)據(jù)源到合適的數(shù)據(jù)源名稱即可。 第二種驅(qū)動(dòng)程序也稱為部分 Java 驅(qū)動(dòng)程序,因?yàn)樗鼈冎苯訉?JDBC API 翻譯成具體數(shù)據(jù)庫的API。對于分布式應(yīng)用程序,這種需求會產(chǎn)生額外的許可證問題,還可能帶來可怕的潛在代碼分布問題。第三種驅(qū)動(dòng)程序是純 Java 驅(qū)動(dòng)程序,它將 JDBC API 轉(zhuǎn)換成獨(dú)立于數(shù)據(jù)庫的協(xié)議。JDBC 驅(qū)動(dòng)程序并沒有直接和數(shù)據(jù)庫進(jìn)行通訊;它和一個(gè)中間件服務(wù)器通訊,然后這個(gè)中間件服務(wù)器

28、和數(shù)據(jù)庫進(jìn)行通訊。這種額外的中間層次提供了靈活性:可以用相同的代碼訪問不同的數(shù)據(jù)庫,因?yàn)橹虚g件服務(wù)器隱藏了 Java 應(yīng)用程序的細(xì)節(jié)。要轉(zhuǎn)到不同的數(shù)據(jù)庫,您只需在中間件服務(wù)器上改變參數(shù)。 第四種驅(qū)動(dòng)程序是純 Java 驅(qū)動(dòng)程序,它直接與數(shù)據(jù)庫進(jìn)行通訊。很多程序員認(rèn)為這是最好的驅(qū)動(dòng)程序,因?yàn)樗ǔL峁┝俗罴训男阅埽⒃试S開發(fā)者利用特定數(shù)據(jù)庫的功能。當(dāng)然,這種緊密耦合會影響靈活性,特別是如果您需要改變應(yīng)用程序中的底層數(shù)據(jù)庫時(shí)。這種驅(qū)動(dòng)程序通常用于 applet 和其它高度分布的應(yīng)用程序。JDBC是Java的開發(fā)者Sun的JavaSoft公司制定的Java數(shù)據(jù)庫連接JavaDataBaseConne

29、ctivity技術(shù)的簡稱,是為各種常用數(shù)據(jù)庫提供無縫聯(lián)接的技術(shù)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺應(yīng)用程序中的作用類似。JDBC有一個(gè)非常獨(dú)特的動(dòng)態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來完成對數(shù)據(jù)庫的訪問包括以下四個(gè)主要組件:Java的應(yīng)用程序、JDBC驅(qū)動(dòng)器管理器、驅(qū)動(dòng)器和數(shù)據(jù)源。簡單地說,JDBC能完成下列三件事: 1.同一個(gè)數(shù)據(jù)庫建立連接; 2.向數(shù)據(jù)庫發(fā)送SQL語句; 3.處理數(shù)據(jù)庫返回的結(jié)果。JDBC是一種可用于執(zhí)行SQL語句的JavaAPI(ApplicationProgrammingInterface,應(yīng)用程序設(shè)計(jì)接口)。它由

30、一些Java語言寫的類、界面組成。JDBC給數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。 通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫。也就是說,開發(fā)人員可以不必寫一個(gè)程序訪問Sybase,寫另一個(gè)程序訪問Oracle,再寫一個(gè)程序訪問Microsoft的SQLServer。用JDBC寫的程序能夠自動(dòng)地將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。不但如此,使用Java編寫的應(yīng)用程序可以在任何支持Java的平臺上運(yùn)行,不必在不同的平臺上編寫不同的應(yīng)用。Java和JDBC的

31、結(jié)合可以讓開發(fā)人員在開發(fā)數(shù)據(jù)庫應(yīng)用時(shí)真正實(shí)現(xiàn)“WriteOnce,RunEverywhere!” Java具有健壯、安全、易用等特性,而且支持自動(dòng)網(wǎng)上下載,是一種很好的與數(shù)據(jù)庫線連接而使用的編程語言。它所需要的是Java應(yīng)用如何同各種各樣的數(shù)據(jù)庫連接,JDBC正是實(shí)現(xiàn)這種連接的關(guān)鍵。 JDBC擴(kuò)展了Java的能力,如使用Java和JDBCAPI就可以公布一個(gè)Web頁,頁中帶有能訪問遠(yuǎn)端數(shù)據(jù)庫的Applet。或者企業(yè)可以通過JDBC讓全部的職工(他們可以使用不同的操作系統(tǒng),如Windwos,Machintosh或UNIX)在Intranet上連接到幾個(gè)全球數(shù)據(jù)庫上,而這幾個(gè)全球數(shù)據(jù)庫可以是不相同

32、的。所有的數(shù)據(jù)庫的對象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想連接數(shù)據(jù)庫,首先要將驅(qū)動(dòng)程序調(diào)入。Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);這是JDBC-ODBC 的驅(qū)動(dòng)程序。要想連接一個(gè)指定的數(shù)據(jù)庫,必須創(chuàng)建Connection類的一個(gè)實(shí)例。 String url = jdbc:odbc:Grocery prices; Connection con = DriverManager.getConnection(url); 注意在此用到的數(shù)據(jù)庫名稱是在ODBC設(shè)置控制面板中輸入的數(shù)據(jù)資源名。URL語法對于

33、不同類型的數(shù)據(jù)庫會很不一樣。 語法是這樣的: jdbc:subprotocol:subname 開頭都是JDBC,后面是子協(xié)議,然后是ODBC名稱。 若要使用純JDBC驅(qū)動(dòng)程序,必須安裝第三方軟件提供的驅(qū)動(dòng)程序,一般在數(shù)據(jù)庫的官方網(wǎng)站上可以找到這里不做討論。本系統(tǒng)采用JDBC-ODBC的驅(qū)動(dòng)程序連接數(shù)據(jù)庫,并使用JavaBean組件,有效的避免了代碼的重復(fù),具體過程如下:package exam; import java.sql.*; public class ExamBean String strDBDriver=sun.jdbc.odbc.JdbcOdbcDriver; String st

34、rDBUrl=jdbc:odbc:exam; private Connection conn=null; private Statement stmt=null; ResultSet rs=null; public ExamBean() public ResultSet executeQuery(String sql) rs=null; try conn=DriverManager.getConnection(strDBDriver);/創(chuàng)建數(shù)據(jù)庫連接對象 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.C

35、ONCUR_UPDATABLE);/支持?jǐn)?shù)據(jù)回滾 rs=stmt.executeQuery(sql); catch(SQLException ex) System.err.println(aq.executeQuery:+ex.getMessage(); return rs; public void executeUpdate(String sql) stmt=null; try conn=DriverManager.getConnection(strDBDriver); stmt=conn.createStatement(); stmt.executeUpdate(sql); stmt.cl

36、ose(); catch(SQLException ex) System.err.println(aq.executeQuery:+ex.getMessage(); public void closeStmt() try stmt.close(); catch(SQLException e) e.printStackTrace(); public void closeConn() try conn.close(); catch(SQLException e) e.printStackTrace(); 2.1.2 經(jīng)濟(jì)可行性出租車公司具有信息化的處理設(shè)施,并且擁有支持本系統(tǒng)的應(yīng)用平臺。因此無需再

37、投入資金購買其他設(shè)施。系統(tǒng)的開發(fā)基于本人對程序開發(fā)的實(shí)踐學(xué)習(xí)而來,無需資金投入,并且軟件開發(fā)過程投入的成本不高,因此開發(fā)經(jīng)費(fèi)完全可以接受。系統(tǒng)開發(fā)成功后將大大提高出租車管理方面的效率,使其管理走向正規(guī)化、信息化、工資核算“無紙化”,是其發(fā)展強(qiáng)大的必經(jīng)之路。因此,出租車管理系統(tǒng)也具有經(jīng)濟(jì)可行性。2.1.3 社會可行性本系統(tǒng)的社會可行性主要從法律因素、用戶使用可行性兩方面進(jìn)行研究。1.法律因素本系統(tǒng)是根據(jù)出租車管理的實(shí)際工作情況開發(fā)研制的,是通過大量的調(diào)研得出的,系統(tǒng)的軟件設(shè)計(jì)是在獨(dú)立的環(huán)境下完成的,無可供抄襲的軟件產(chǎn)品。2.用戶使用可行性本系統(tǒng)對用戶的要求,除了需要具備在Microsoft Wi

38、ndows平臺上使用個(gè)人電腦的知識外,并不需要特別的技術(shù)能力。使用系統(tǒng)的管理員,在投入使用前,無需對操作系統(tǒng)的人員進(jìn)行培訓(xùn)。這樣既減少投入成本又簡化了操作環(huán)節(jié)。因此,出租車管理系統(tǒng)具有社會可行性。2.2 總體設(shè)計(jì)原則本系統(tǒng)為了設(shè)計(jì)、實(shí)現(xiàn)和后期維護(hù)的方便,以及系統(tǒng)用戶使用的便利,所以必須采取一定的設(shè)計(jì)原則3。其主要設(shè)計(jì)原則有:簡單性:在實(shí)現(xiàn)系統(tǒng)的功能的同時(shí),盡量讓系統(tǒng)操作簡單易懂,這對于一個(gè)系統(tǒng)來說是非常重要的。針對性:本系統(tǒng)設(shè)計(jì)是針對出租車管理的需求定向開發(fā)設(shè)計(jì),所以具有專業(yè)突出和很強(qiáng)的針對性。實(shí)用性:要求本系統(tǒng)能夠滿足出租車管理的需要,因此具有良好的實(shí)用性。一致性:頁面整體設(shè)計(jì)風(fēng)格以及命名規(guī)

39、則的一致性:整體框架和用圖用色風(fēng)格及變量、類名和其他元素的命名規(guī)則保持一致。功能一致性:完成同樣的功能應(yīng)該盡量使用同樣的元素。 元素風(fēng)格一致性:界面元素的美觀風(fēng)格、擺放位置在同一個(gè)界面和不同界面之間都應(yīng)該是一致的。變量命名規(guī)則的一致性:變量應(yīng)該用統(tǒng)一的規(guī)則進(jìn)行命名,做到任意變量均能從上下文推斷其義。先進(jìn)性:本系統(tǒng)采用JSP、SQL Server2000作為系統(tǒng)開發(fā)工具和數(shù)據(jù)庫,兩個(gè)軟件具有良好的兼容性和系統(tǒng)穩(wěn)定性。因此本設(shè)計(jì)具有良好的先進(jìn)性 7。3 系統(tǒng)分析3.1 業(yè)務(wù)流程分析在進(jìn)行業(yè)務(wù)流程分析時(shí),需要按照原有信息流動(dòng)過程,逐個(gè)地調(diào)查分析所有環(huán)節(jié)的處理業(yè)務(wù)、處理內(nèi)容、處理順序和對處理時(shí)間的要求

40、,弄清各個(gè)環(huán)節(jié)需要的信息、信息來源、流經(jīng)去向、處理方法、計(jì)算方法、提供信息的時(shí)間和信息形態(tài)(報(bào)告、報(bào)單、屏幕顯示)等4。業(yè)務(wù)流程分析可以幫助開發(fā)者了解該業(yè)務(wù)處理過程,發(fā)現(xiàn)和處理系統(tǒng)調(diào)查工作中的錯(cuò)誤和疏漏。業(yè)務(wù)流程分析是通過業(yè)務(wù)流程圖來進(jìn)行,即用一些規(guī)定的符號及連線來表示某個(gè)具體業(yè)務(wù)處理過程5。具體的流程如圖3-1所示。圖3-1 業(yè)務(wù)流程圖3.2 數(shù)據(jù)流圖數(shù)據(jù)流程是指數(shù)據(jù)在系統(tǒng)中產(chǎn)生、傳輸、加工處理、使用、存儲的過程6。數(shù)據(jù)流程分析是把數(shù)據(jù)在現(xiàn)行系統(tǒng)內(nèi)部的流動(dòng)抽象的獨(dú)立起來,舍去了具體組織機(jī)構(gòu)、信息載體、處理工具、物質(zhì)、材料等,單從數(shù)據(jù)流動(dòng)過程來考查實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式。數(shù)據(jù)流圖是結(jié)構(gòu)化分析方

41、法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。在結(jié)構(gòu)化開發(fā)方法中,數(shù)據(jù)流圖是需求分析階段產(chǎn)生的結(jié)果。數(shù)據(jù)流圖英文縮寫DFD(Data Flow Diagram)它是描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)受的變換。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)流程圖包括:1.指明數(shù)據(jù)存在的數(shù)據(jù)符號,這些數(shù)據(jù)符號也可指明該數(shù)據(jù)所使用的媒體;2.指明對數(shù)據(jù)執(zhí)行的處理的處理符號,這些符號也可指明該處理所用到的機(jī)器功能;3.指明幾個(gè)處理和(或)數(shù)據(jù)媒體之間的數(shù)據(jù)流的流線符號;4.便于

42、讀、寫數(shù)據(jù)流程圖的特殊符號。數(shù)據(jù)流程與數(shù)據(jù)流程分析是今后建立數(shù)據(jù)庫系統(tǒng)和設(shè)計(jì)功能模塊處理過程的基礎(chǔ)。描述數(shù)據(jù)流程的工具是數(shù)據(jù)流程圖以及其附帶的數(shù)據(jù)字典、處理邏輯等圖表。其中數(shù)據(jù)流程圖是描述系統(tǒng)邏輯模型的主要工具,它以少數(shù)幾種符號綜合地反映出信息在系統(tǒng)中的流動(dòng)、存儲和傳遞7。在業(yè)務(wù)流程分析的基礎(chǔ)上,對數(shù)據(jù)流進(jìn)行了分析,從數(shù)據(jù)流動(dòng)過程考察了實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式。該系統(tǒng)的數(shù)據(jù)流圖分為頂層、一層、二層12?,F(xiàn)行的頂層數(shù)據(jù)流圖如圖3-2所示。圖3-2 頂層DFD具體分析第一層數(shù)據(jù)流圖,該層數(shù)據(jù)流圖如圖3-3所示。圖3-3第一層DFD由于論文的篇幅限制不能一一列舉數(shù)據(jù)流圖,只給出了一部分比較重要的,其他

43、都是按照此方法繪制的。3.3 數(shù)據(jù)字典系統(tǒng)數(shù)據(jù)流程的分析完成后,接下來用數(shù)據(jù)字典描述數(shù)據(jù)流圖中一些主要的數(shù)據(jù)元素條目、數(shù)據(jù)流、處理過程、數(shù)據(jù)存儲和外部實(shí)體13。數(shù)據(jù)元素條目如表3-1所示。表3-1數(shù)據(jù)元素?cái)?shù)據(jù)元素條目總編號:1-101編號:101名稱:管理員編號 說明:管理員的編號數(shù)據(jù)值類型:離散長度:50有關(guān)數(shù)據(jù)結(jié)構(gòu):管理員表 如:10001 數(shù)據(jù)結(jié)構(gòu)條目如表3-2所示。表3-2數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)條目名稱:管理員信息表說明:創(chuàng)建管理員信息記錄時(shí)的數(shù)據(jù) 總編號:2-01結(jié)構(gòu):編號:01管理員編號有關(guān)數(shù)據(jù)流、數(shù)據(jù)存儲:用戶名密碼 數(shù)量:每月約20份數(shù)據(jù)流條目如表3-3所示。表3-3數(shù)據(jù)流數(shù)據(jù)流條目

44、名稱:修改密碼總編號:3-10說明:將修改后的密碼信息記錄存儲到管理員信息表中編號:10數(shù)據(jù)流來源: 數(shù)據(jù)流去向:P6修改密碼 流通量:10份/周包含的數(shù)據(jù)結(jié)構(gòu):管理員信息數(shù)據(jù)存儲條目如表3-4所示。表3-4數(shù)據(jù)存儲數(shù)據(jù)存儲條目名稱:管理員信息表總編號:4-03說明:存儲管理員的相關(guān)信息標(biāo)號:D6結(jié)構(gòu):管理員編號用戶名密碼有關(guān)的數(shù)據(jù)流:P6D6信息量:2份/年處理過程條目如表3-5所示。表3-5處理過程處理過程條目名稱:出租車管理總編號:5-15說明:將出租車信息進(jìn)行管理編號:P2輸入:P2出租車管理輸出:D2出租車信息處理:P2外部實(shí)體條目如表3-6所示。表3-6外部實(shí)體外部實(shí)體條目名稱:管

45、理員總編號:6-001說明:管理員編號:001輸入數(shù)據(jù)流:個(gè)數(shù):1個(gè)輸出數(shù)據(jù)流:由于論文篇幅的限制,不在此一一列舉,其他所有的數(shù)據(jù)字典條目都是根據(jù)數(shù)據(jù)流圖繪制的。4 系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)及接口設(shè)計(jì)通過對出租車管理系統(tǒng)進(jìn)行全面的調(diào)查分析的基礎(chǔ)上,制定出出租車管理系統(tǒng)的系統(tǒng)總體規(guī)劃。系統(tǒng)設(shè)計(jì)包括系統(tǒng)總體設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)、系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)開發(fā)工具、開發(fā)技術(shù)和開發(fā)模式等14。出租車管理系統(tǒng)前臺功能模塊圖如圖4-1所示。出租車管理系統(tǒng)的前途功能模塊與后臺功能模塊大體相同,區(qū)別在于管理系統(tǒng)后臺具有超級管理員功能,可對管理員進(jìn)行管理。圖4-1 前臺功能模塊圖出租車管理系統(tǒng)后臺功能模塊圖如圖4-2所

46、示。圖4-2 后臺功能模塊圖4.2 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中非常重要的一個(gè)環(huán)節(jié)15。數(shù)據(jù)是一切系統(tǒng)設(shè)計(jì)的基礎(chǔ),通俗地說,數(shù)據(jù)庫設(shè)計(jì)就像高樓大廈的根基一樣,如果設(shè)計(jì)的不合理、不完善,將在系統(tǒng)開發(fā)過程中,甚至到后期的系統(tǒng)維護(hù)、功能變更和功能擴(kuò)充時(shí),引起較多問題,嚴(yán)重時(shí)甚至要重新設(shè)計(jì),重做大量已完成工作。 4.2.1 概念結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)分析的結(jié)果,具體分析不同實(shí)體用戶,描述不同實(shí)體之間的關(guān)系,得出系統(tǒng)數(shù)據(jù)實(shí)體圖和E-R圖。管理員實(shí)體屬性圖如圖4-2所示。圖4-2管理員實(shí)體屬性圖投訴實(shí)體屬性圖如圖4-3所示。圖4-3投訴實(shí)體屬性圖出租車實(shí)體屬性圖如圖4-4所示。圖4-4出租車實(shí)體屬性圖司

47、機(jī)實(shí)體屬性圖如圖4-5所示。圖4-5司機(jī)實(shí)體屬性圖出租公司實(shí)體屬性圖如圖4-6所示。圖4-6出租公司實(shí)體屬性圖員工公司實(shí)體屬性圖如圖4-7所示。圖4-7員工公司實(shí)體屬性圖E-R模型的組成元素有:實(shí)體、屬性、聯(lián)系。E-R模型用E-R圖表示。實(shí)體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對實(shí)體特征的描述11。1.模型中的實(shí)體相當(dāng)于實(shí)體集、一個(gè)表,而不是單個(gè)實(shí)體或表中的一行。實(shí)體用矩形框表示,實(shí)體名稱標(biāo)注在矩形框內(nèi)。用菱形表示實(shí)體間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系名,用無向邊把菱形分別與有關(guān)實(shí)體相連接,在無向邊旁標(biāo)上聯(lián)系的類型12。2.屬性是實(shí)體的性質(zhì)。用橢圓框表示,與實(shí)體之間用一條線相連表的主碼是關(guān)鍵屬性,關(guān)鍵

48、屬性項(xiàng)加下劃線。3.各子系統(tǒng)模塊中主鍵相同的字段之間存在著相互關(guān)聯(lián)的關(guān)系。4.在程序中實(shí)現(xiàn)對他們的完整性和一致性控制。從數(shù)據(jù)需求分析中得出系統(tǒng)的實(shí)體屬性圖,遵循三范式原則,對實(shí)體之間的依賴關(guān)系進(jìn)行了整合,得出系統(tǒng)E-R圖,如下圖所示。圖4-8系統(tǒng)E-R圖4.2.2 數(shù)據(jù)庫表設(shè)計(jì)表4-1管理員信息表說明:用于存放管理員的信息。表4-2出租車信息表說明:用于存放出租車的基本信息。表4-3司機(jī)信息表說明:用于存放司機(jī)的基本信息。表4-4出租車公司信息表說明:用于存放出租車公司的基本信息。表4-5投訴信息表 說明:用于存放投訴的基本信息。表4-6員工信息表說明:用于存放員工的基本信息。4.3 系統(tǒng)開發(fā)

49、工具與開發(fā)模式4.3.1 JSP簡介JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(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)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在

50、于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。 JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范。目前較新的是JSP1.2規(guī)范,JSP2.0

51、規(guī)范的征求意見稿也已出臺。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο螅哂衅脚_無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 自JSP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語言。JSP編程技術(shù)的優(yōu)勢在于:1.一次編寫,到處運(yùn)行。在

52、這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。2.系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。 3.強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個(gè)巨大的生命力。 4.多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下

53、。JSP編程技術(shù)的缺點(diǎn)在于:1.與ASP一樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 2.Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.class文件,以及對應(yīng)的版本文件。4.3.2 JSP運(yùn)行原料在JSP第一次獲得來自于客戶端瀏覽器的請求時(shí),JSP文件將被JSP引擎(JSP engine)轉(zhuǎn)換成一個(gè)Servlet,即將”.jsp”文件編譯成Java Class文件。當(dāng)Servle

54、t引擎接收到請求后,如果設(shè)置了使用最新的JSP,它就會去找JSP文件,檢查該文件在上次編譯后是否改動(dòng)過。如果改動(dòng)過,就會重新編譯生成新的Servlet,最終將請求轉(zhuǎn)交給編譯好的Servlet引擎執(zhí)行。利用JSP技術(shù),動(dòng)態(tài)信息由JSP頁面來表現(xiàn),JSP頁面由安裝在Web服務(wù)器或者使用JSP的應(yīng)用服務(wù)器上的JSP引擎執(zhí)行。JSP引擎接受客戶端對JSP頁面的請求,并且生成JSP頁面作為對客戶端的響應(yīng)。 JSP頁面通常被編譯成為Java Servlets,這是一個(gè)標(biāo)準(zhǔn)的Java擴(kuò)展。頁面開發(fā)人員能夠訪問全部的Java應(yīng)用環(huán)境,以利用Java技術(shù)的擴(kuò)展性和可移植性。當(dāng)JSP頁面第一次被調(diào)用時(shí),如果它還不

55、存在,就會被編譯成為一個(gè)Java Servlets類,并且存儲在服務(wù)器的內(nèi)存中。這就使得在接下來的對該頁面的調(diào)用中,服務(wù)器會有非??斓捻憫?yīng)(這避免了CGIBIN為每個(gè)HTTP請求生成一個(gè)新的進(jìn)程的問題)。 JSP頁面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中。基于JSP的動(dòng)態(tài)信息發(fā)布技術(shù)是一個(gè)開放的、可擴(kuò)展的建立動(dòng)態(tài)Web頁面的標(biāo)準(zhǔn)。不論采用什么創(chuàng)建工具,開發(fā)人員都可以使用JSP頁面來創(chuàng)建可移植的Web應(yīng)用,在不同的Web應(yīng)用服務(wù)器上運(yùn)行。在編譯時(shí)如果發(fā)現(xiàn)JSP文件有任何語法錯(cuò)誤,轉(zhuǎn)換過程將中斷,并向客戶端發(fā)出出錯(cuò)信息;如果編譯成功,則所轉(zhuǎn)換產(chǎn)生的Servlet代碼被編譯,然后該Servlet被JSP引擎加載到內(nèi)存中。此時(shí)JSP引擎還請求了jspInit()方法的執(zhí)行,并對此Servlet初始化。JspInit()方法在Servlet的生命周期中只被請求一次,然后將被調(diào)用來處理客戶端的請求和回復(fù)操作。對于所有隨后對該JSP文件的請求,服務(wù)器將檢查該JSP文件自最后一次被存取后是否經(jīng)過修改。如果沒有修改,則將請求交還給還在內(nèi)存中的Servlet的jspServ

溫馨提示

  • 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

提交評論