公交車輛管理系統(tǒng)的設(shè)計(jì)方案與實(shí)現(xiàn)_第1頁
公交車輛管理系統(tǒng)的設(shè)計(jì)方案與實(shí)現(xiàn)_第2頁
公交車輛管理系統(tǒng)的設(shè)計(jì)方案與實(shí)現(xiàn)_第3頁
公交車輛管理系統(tǒng)的設(shè)計(jì)方案與實(shí)現(xiàn)_第4頁
公交車輛管理系統(tǒng)的設(shè)計(jì)方案與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

個(gè)人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途大連理工大學(xué)碩士學(xué)位論文公交車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓名:孫陶申請(qǐng)學(xué)位級(jí)別:碩士專業(yè):軟件工程指導(dǎo)教師:蔣光遠(yuǎn)20070603大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文摘 要隨著社會(huì)經(jīng)濟(jì)的發(fā)展,信息技術(shù)的發(fā)展和網(wǎng)絡(luò)應(yīng)用的普及使得公交行業(yè)的信息化成為一種必然。車輛管理系統(tǒng)是公交集團(tuán)信息化建設(shè)的重要組成部分。它對(duì)車輛檔案、營運(yùn)動(dòng)態(tài)和車輛保養(yǎng)生產(chǎn)計(jì)劃等多方面進(jìn)行全面的統(tǒng)一的管理,為合理的分配車輛線路資源和編制車輛保養(yǎng)生產(chǎn)計(jì)劃提供依據(jù)。本文是基于Struts開發(fā)框架和MVC設(shè)計(jì)模式理論,針對(duì)公交集團(tuán)的車輛管理的實(shí)際情況,設(shè)計(jì)和實(shí)現(xiàn)了適合沈陽市公交集團(tuán)的車輛管理系統(tǒng)。首先介紹了J2EE和MVC基礎(chǔ)知識(shí),然后針對(duì)工程的設(shè)計(jì)目標(biāo)、設(shè)計(jì)原則和基本功能需求,分析并設(shè)計(jì)了模塊結(jié)構(gòu),各個(gè)子系統(tǒng)的功能,數(shù)據(jù)庫設(shè)計(jì),以及系統(tǒng)運(yùn)行的軟件、硬件環(huán)境。最后設(shè)計(jì)和實(shí)現(xiàn)了車輛保養(yǎng)生產(chǎn)計(jì)劃子系統(tǒng),針對(duì)傳統(tǒng)手工編制計(jì)劃的弊端,結(jié)合公交集團(tuán)的實(shí)際管理情況,設(shè)計(jì)出比傳統(tǒng)手工編制計(jì)劃更好的半自動(dòng)編制生產(chǎn)計(jì)劃方法。目前車輛管理系統(tǒng)已經(jīng)在沈陽市公交集團(tuán)試運(yùn)行。系統(tǒng)運(yùn)行以來,表現(xiàn)出了較好的穩(wěn)定性、實(shí)用性和操作直觀性,取得了良好的效果。關(guān)鍵詞:Wc;公交系統(tǒng);生產(chǎn)計(jì)劃公交車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)Design and Implementation of Bus Management SystemAbstractWim the sociality economy developmentcurrently boosting with the highly developingpace of the Information Technology,the approach for public traffic system development ispromoting more extremely ever than beforeThe bus administration system is a veryimportant part for public traffic information sys餾mIt management bussS documents andworking developments and maintain plan uniformlyIt provide gist for distributingconnection and making bus maintain plannle dissertation iS based on the Struts development frame and t11e MVC design patterntheory,SO as to achieve the purpose of get the specialty and actual conditions,design anddevelop the bus administration system which is qualified in accordance with the public trafficworkingPrimarily,the dissertation researches MVC framework and J2EE frameworkThananalyzed the model structure and model capability of the whole system,database design andthe hardware and software environmentFinally designed and has realized the busmaintenance production plan subsystem,in view of the traditional manual establishment plan,the union public transportation group。S actual managemem situation,designed a traditional ismore manual than establishment to plan the better semiautomatic establishment productiveplan methodCurrently,the bus administration system has been applied to the Shenyang Company,and it has obtained a good effectiveSince the system running,it shows a quite excellentstability,practicality and withont mass manipulationKey Words:MVC;Bus administration;Production Plan獨(dú)創(chuàng)性說明作者鄭重聲明:本碩士學(xué)位論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果,也不包含為獲得大連理工大學(xué)或者其他單位的學(xué)位或證書所使用過的材料。與我一同工作的同志對(duì)本研究所做的貢獻(xiàn)均已在論文中做了明確的說明并表示了謝意。作者簽名:塒日期;乏22墨魚:芻大連理工大學(xué)碩士研究生學(xué)位論文大連理工大學(xué)學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者及指導(dǎo)教師完全了解“大連理工大學(xué)碩士、博士學(xué)位論文版權(quán)使用規(guī)定”,同意大連理工大學(xué)保留并向國家有關(guān)部門或機(jī)構(gòu)送交學(xué)位論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大連理工大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,也可采用影印、縮印或掃描等復(fù)制手段保存和匯編學(xué)位論文。作者簽名: 調(diào)、啁引幣鏈之前先毒 導(dǎo)師簽名:!望:=之1年上月衛(wèi)日大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文引 言隨著經(jīng)濟(jì)社會(huì)發(fā)展和城鎮(zhèn)化進(jìn)程的加快,許多城市交通擁堵、環(huán)境污染的問題突出,嚴(yán)重影響了城市發(fā)展。我國土地資源稀缺,城市入口密集,群眾收入水平總體不高,優(yōu)先發(fā)展公共交通符合城市發(fā)展和交通發(fā)展的實(shí)際,提高交通資源利用效率、緩解交通擁堵的重要手段,是貫徹落實(shí)科學(xué)發(fā)展觀和建設(shè)節(jié)約型社會(huì)的重要舉措。沈陽市的公交行業(yè)經(jīng)過了十凡年的發(fā)展,如今己頗具規(guī)模,其中公交車輛數(shù)量和運(yùn)行線路長度在全國都是屈指可數(shù)。但還存在不少問題,如堵車嚴(yán)重、線路設(shè)置不合理、運(yùn)力分配不合理等等,這些問題造成很多不必要的資源浪費(fèi)和環(huán)境污染,并且使得公交本來具有的優(yōu)勢(shì)也不復(fù)存在。隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,公交行業(yè)的信息化建設(shè)逐步發(fā)展起來,它有于科學(xué)規(guī)劃和建設(shè)、提高線網(wǎng)密度和站點(diǎn)覆蓋率、優(yōu)化運(yùn)營結(jié)構(gòu)、有利于科學(xué)編制公共交通規(guī)劃、科學(xué)配置和利用交通資源,有利于形成干支協(xié)調(diào)、結(jié)構(gòu)合理、高效快捷并與城市規(guī)模、人口和經(jīng)濟(jì)發(fā)展相適應(yīng)的公共交通系統(tǒng)。車輛是公交企業(yè)對(duì)外服務(wù)的主要工具,建設(shè)公交車輛管理系統(tǒng)是沈陽市公交集團(tuán)為了適應(yīng)新時(shí)期公交行業(yè)改革與發(fā)展的需要,不斷提高管理能力和決策水平,努力保持平穩(wěn)發(fā)展所做出的一項(xiàng)重大決策。該系統(tǒng)的目的主要是為了對(duì)公交集團(tuán)下屬的所有公司、分公司的所有車輛信息、使用信息、行駛信息、燃料潤滑劑消耗情況、保修生產(chǎn)安排等信息進(jìn)行合理化管理,最終提高企業(yè)生產(chǎn)效率及效益,并為技術(shù)部提供詳盡的統(tǒng)計(jì)分析報(bào)表,為計(jì)劃部門安排生產(chǎn)計(jì)劃提供切實(shí)可靠的依據(jù)及合理化建議。該系統(tǒng)有助子科學(xué)的編制交通規(guī)劃,合理的利用運(yùn)力資源,節(jié)省成本,提高企業(yè)的核心水平。本文設(shè)計(jì)和開發(fā)的車輛管理系統(tǒng)是一個(gè)基于Struts的web數(shù)據(jù)庫企業(yè)信息管理系統(tǒng),它實(shí)現(xiàn)了公交集團(tuán)各種車輛檔案、車輛異動(dòng)、營運(yùn)動(dòng)態(tài)、生產(chǎn)計(jì)劃編制等基本信息的計(jì)算機(jī)化管理。本文的組織結(jié)構(gòu)如下:第一章闡述了J2EE架構(gòu)的特點(diǎn),闡述其優(yōu)點(diǎn),并且對(duì)Struts進(jìn)行簡單的介紹;第二章為系統(tǒng)的需求分析,描述了各個(gè)功能的需求;第三章為系統(tǒng)的總體設(shè)計(jì),闡述了系統(tǒng)的模塊結(jié)構(gòu)、各個(gè)模塊的功能,以及系統(tǒng)運(yùn)行的軟件、硬件環(huán)境;第四章為車輛檔案和營運(yùn)動(dòng)態(tài)子系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),描述了予系統(tǒng)的用例圖、流程圖、數(shù)據(jù)庫設(shè)計(jì)和Java數(shù)據(jù)庫存取技術(shù);第五章為生產(chǎn)計(jì)劃子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),根據(jù)公交集團(tuán)的實(shí)際條件,提出了半自動(dòng)化編制生產(chǎn)計(jì)劃的方法,并詳細(xì)描述了編制生產(chǎn)計(jì)劃的流程和相關(guān)的數(shù)據(jù)庫之間的關(guān)系。最后是對(duì)全文的總結(jié)。公交車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)1 J2EE架構(gòu)概述Java 2平臺(tái)有3個(gè)版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺(tái)Micro版(Java 2 Platform Micro Edition,J2ME、適用于桌面系統(tǒng)的Java 2平臺(tái)標(biāo)準(zhǔn)版(Java2 Platform Standard Edition,J2SE、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition,J2EEllJoJ2EE是由SUN公司推出的適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition,J2EE,它定義的一個(gè)開發(fā)分布式企業(yè)級(jí)應(yīng)用的規(guī)范,其目標(biāo)是提供平臺(tái)無關(guān)的、可移植的、支持并發(fā)訪問和安全的,完全基于Java的開發(fā)服務(wù)器端中間件的標(biāo)準(zhǔn)【2】。11 J2EE構(gòu)架的優(yōu)勢(shì)作為當(dāng)今流行開發(fā)平臺(tái)之一,由SUN引導(dǎo),各廠商共同發(fā)起的,并得到廣泛認(rèn)可的工業(yè)標(biāo)準(zhǔn),業(yè)內(nèi)大企業(yè)如:IBM,BEA Systems,Oracle等都有參與?,F(xiàn)在已經(jīng)超過25個(gè)不同的服務(wù)器端平臺(tái)支持J2EE規(guī)范,為企業(yè)級(jí)WEB應(yīng)用的開發(fā)提供了豐富的技術(shù)選擇與服務(wù)支持。選用J2EE構(gòu)架的體系結(jié)構(gòu)有如下優(yōu)勢(shì):111平臺(tái)的成熟性現(xiàn)在基于J2EE平臺(tái)的高端產(chǎn)品包含一些重要的事務(wù)邏輯,而這些事務(wù)邏輯應(yīng)用在產(chǎn)品中許多年了。提供J2EE平臺(tái)商業(yè)實(shí)現(xiàn)的供應(yīng)商(如IBM、BEA都有很長的、得到認(rèn)可的發(fā)布中間件產(chǎn)品的歷史。這些中間件產(chǎn)品能實(shí)現(xiàn)大宗的事務(wù)系統(tǒng)。這些供應(yīng)商不是從零開始構(gòu)造服務(wù)器端平臺(tái),一些供應(yīng)商是通過在己得到驗(yàn)證的現(xiàn)有技術(shù)上開發(fā)一個(gè)基于J2EE平臺(tái)的具有可移植性的層來實(shí)現(xiàn)J2EE平臺(tái)。這包括CORBA產(chǎn)品【3】、事務(wù)處理監(jiān)視器、數(shù)據(jù)庫、和或應(yīng)用服務(wù)器,以上這些技術(shù)以前都是各企業(yè)專用的。112可伸縮性基于J2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX與大型機(jī)系統(tǒng),這種系統(tǒng)單機(jī)可支持64至256個(gè)處理器。J2旺領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署。這種部署可達(dá)數(shù)千個(gè)處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應(yīng)用的需要。113長期的可用性 系統(tǒng)的穩(wěn)定可用性是任何用戶使用管理信息系統(tǒng)的終極目標(biāo),本次開發(fā)的系統(tǒng)作為一個(gè)車輛管理系統(tǒng),其信息數(shù)據(jù)的安全和穩(wěn)定更是重中之重。一個(gè)服務(wù)器端平臺(tái)必須能大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。若是意外停機(jī),或者數(shù)據(jù)丟失那會(huì)有災(zāi)難性后果。J2EE體系的穩(wěn)定性是基于Java的健壯性和虛擬機(jī)(Virtual Machine VM實(shí)現(xiàn)的一致性基礎(chǔ)上的。J2EE部署到可靠的操作環(huán)境中,支持長期的可用性。J2EE工程開發(fā)結(jié)束后部署在健壯性能好的操作系統(tǒng)中,只需要簡單的進(jìn)行維護(hù)例如處理日志等簡單操作就可以使系統(tǒng)長期、安全、穩(wěn)定的進(jìn)行工作。這也是實(shí)時(shí)性很強(qiáng)業(yè)務(wù)系統(tǒng)最理想的選擇。114支持異構(gòu)環(huán)境一些大的公司擁有異構(gòu)的服務(wù)器端部署環(huán)境,使用多種操作系統(tǒng)、硬件、中問件產(chǎn)品。異構(gòu)的環(huán)境在以下情況也可能出現(xiàn);要完成多個(gè)不同工程的機(jī)構(gòu):對(duì)擁有不同部署環(huán)境的公司進(jìn)行合并、收購。在以上情形中,跨異構(gòu)操作系統(tǒng)的可移植性與互操作性是非常重要的。J2EE能夠開發(fā)部署在異構(gòu)環(huán)境4l中的可移植程序?;贘2髓的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需開發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)公司計(jì)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)也允許客戶訂購與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個(gè)方案所需的費(fèi)用。J2EE被設(shè)計(jì)成支持面向電子商務(wù)的企業(yè)應(yīng)用系統(tǒng),它提供了基于組件的,以服務(wù)器為中心的多層體系結(jié)構(gòu)15】。這種多層結(jié)構(gòu)的設(shè)計(jì)極大地簡化了開發(fā)、配置和維護(hù)企業(yè)應(yīng)用的過程,它最大的優(yōu)點(diǎn)就在于將企業(yè)的業(yè)務(wù)邏輯同系統(tǒng)服務(wù)和用戶接口分開。它提供了一系列的底層服務(wù),如事務(wù)管理、緩沖池等,使得開發(fā)者能夠?qū)⒕杏谄髽I(yè)的業(yè)務(wù)邏輯,而無須過多地關(guān)心與業(yè)務(wù)邏輯不太相干的系統(tǒng)環(huán)境等。12 WC設(shè)計(jì)模式121耽概述設(shè)計(jì)模式即是一系列在實(shí)踐中總結(jié)出來的可復(fù)用的面向?qū)ο蟮能浖O(shè)計(jì)方法,最早由GoF的”Design Patterns提出。設(shè)計(jì)模式是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié),是情境中標(biāo)準(zhǔn)設(shè)計(jì)問題的解決方案嗍。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理鰓、提高代碼的可靠性。塒c(模型一視圖控制器模式是XeroxPARC(施樂在二十世紀(jì)八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,它最先被用來在第一代基于視窗的計(jì)算機(jī)上管理GUI和用戶交互,至今仍被廣泛使用,并被推薦為Sun公司J2EE平臺(tái)的設(shè)計(jì)模公交車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)式,受到越來越多開發(fā)者的歡迎。而作為專門為交互式應(yīng)用系統(tǒng)開發(fā)所設(shè)計(jì)的MVC設(shè)計(jì)模式,在交互式系統(tǒng)開發(fā)中體現(xiàn)出強(qiáng)大的優(yōu)勢(shì),逐步被開發(fā)人員引入到J2EE體系當(dāng)中聃。22群yc的結(jié)構(gòu)蝌c模式屬于結(jié)構(gòu)型設(shè)計(jì)模式,應(yīng)用類和對(duì)象的組合獲得比較復(fù)雜的結(jié)構(gòu)。為解決在交互式環(huán)境下類和對(duì)象的組織問題,該模式將事務(wù)層和數(shù)據(jù)層同表示層分離,同時(shí)也將觸發(fā)事務(wù)處理的事件單獨(dú)分離出來,郎Model(模型、View(視圖、Controller(控制器分離設(shè)計(jì)f8Jo如圖11所示。方法調(diào)用一事件 圖11 ll、,C結(jié)構(gòu)圖F唔11 MVC structure模型(Wodel:模型是從問題域中抽象出來的事務(wù)處理的應(yīng)用對(duì)象,它封裝了解決一個(gè)特定應(yīng)用問題的核心數(shù)據(jù)和關(guān)鍵數(shù)據(jù):并且獨(dú)立于具體的界面表示和輸入輸出操作。模型就是業(yè)務(wù)流程狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是Mvc最主要的核心。EJB模型就是一個(gè)典型的應(yīng)用例子,從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但EJB模型不能作為應(yīng)用設(shè)計(jì)模型的框架。對(duì)一個(gè)開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。州c設(shè)計(jì)模式把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要。這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。荊C并沒有提供模型的設(shè)計(jì)方法,讓開發(fā)者自己組織管理這些模型,以便于模型的重構(gòu)和提高重用性。這點(diǎn)對(duì)編程的開發(fā)人員非常重要。除了業(yè)務(wù)模型還有一個(gè)很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì)象的數(shù)據(jù)保存。比一4一大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文如將一張訂單保存到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單??梢詫⑦@個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫的操作只限制在該模型中。視圖(View:視圖代表用戶交互界面,是模型的屏幕顯示形式,是模型內(nèi)部狀態(tài)(數(shù)據(jù)的外觀表示;不同視圖以不同顯示形式,表達(dá)了模型的數(shù)據(jù)和狀態(tài)信息,每個(gè)視圖有一個(gè)更新操作,可被傳播機(jī)制所激活。MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model處理。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型??刂破?Controller:控制器用于定義用戶界面對(duì)用戶輸入的響應(yīng)方式,即接收用戶的輸入,將輸入反饋給模型,實(shí)現(xiàn)對(duì)模型的計(jì)算控制??刂破饔糜趯?shí)現(xiàn)控制的作用原理,確保用戶界面與應(yīng)用模型間的對(duì)應(yīng)關(guān)系,使模型和視圖協(xié)同工作??刂破鲃澐挚刂茖拥淖饔煤苊黠@,其本質(zhì)就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后,并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型【9】。123 Struts體系結(jié)構(gòu)Struts實(shí)質(zhì)上就是在JsP Wodel2的基礎(chǔ)上實(shí)現(xiàn)一個(gè)MVC框架。在Struts框架中,模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean或EJB組件構(gòu)成,控制器由ActionServlet和Action來實(shí)現(xiàn),視圖由一組JSP文件構(gòu)成。作為一個(gè)WC的框架,Struts對(duì)View、Controller和Model都提供了對(duì)應(yīng)的實(shí)現(xiàn)組件:(1ViewStruts應(yīng)用中的顯示部分是通過JSP技術(shù)實(shí)現(xiàn)的。Struts提供了自定義的標(biāo)記庫可以使用,通過這些自定義標(biāo)記可以非常好地和系統(tǒng)的Wodel部分交互,通過使用這些自定義標(biāo)記創(chuàng)建的JSP表單,可以實(shí)現(xiàn)和Wodel部分中的ActionForm的映射,完成對(duì)用戶數(shù)據(jù)的一些邏輯上的封裝,同時(shí)這些自定義標(biāo)記庫還提供了像模板定制等多種顯示功能。(2Controller控制器的作用是從客戶端接受請(qǐng)求,并且選擇執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,然后把響應(yīng)結(jié)果送回到客戶端。在Struts中Controller功能由ActionServlet和ActionMapping對(duì)公交車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)象構(gòu)成:核心是個(gè)Servlet類型的對(duì)象ActionServlet,它用來接受客戶端的請(qǐng)求。ActionServlet包括一組基于配跫的ActioP塒apping對(duì)象,每個(gè)hctionMapping對(duì)象實(shí)現(xiàn)了一個(gè)請(qǐng)求到一個(gè)具體的Model部分中Action處理器對(duì)象之間的映射。(3ModelMvc系統(tǒng)中的模型部分可以分為兩類一一系統(tǒng)的內(nèi)部狀態(tài)和改變系統(tǒng)狀態(tài)的動(dòng)作。Struts為模型部分提供了Action和ActionForm對(duì)象:所有的Action處理器對(duì)象都是開發(fā)者鐵Struts的Action類派生的子類。Action處理器對(duì)象封裝了具體的處理邏輯,調(diào)用業(yè)務(wù)邏輯模塊,并且把響應(yīng)提交到合適的View組件以產(chǎn)生響應(yīng)。Struts提供的ActionForm組件對(duì)象,它可以通過定義屬性描述客戶端表單數(shù)據(jù)。開發(fā)者可以從它派生子類對(duì)象,利用它和Struts提供的自定義標(biāo)記庫結(jié)合可以實(shí)現(xiàn)對(duì)客戶端的表單數(shù)據(jù)的良好封裝和支持,Action處理器對(duì)象可以直接對(duì)它進(jìn)行讀寫,而不再需要和request、response對(duì)象進(jìn)行數(shù)據(jù)交互。Struts通常建議使用一組JavaBeans表示系統(tǒng)的內(nèi)部狀態(tài),根據(jù)系統(tǒng)的復(fù)雜度也可以使用像Entity EJB和Session EJB等組件來實(shí)現(xiàn)系統(tǒng)狀態(tài)。Struts建議在實(shí)現(xiàn)時(shí)把“做什么”(Action和“如何做”(業(yè)務(wù)邏輯分離。這樣可以實(shí)現(xiàn)業(yè)務(wù)邏輯的重用。圖12Struts框架的MVC視圖F培12 MVC view ofSmam framework1。2。4 Struts框架的組件Struts由近200多個(gè)類所組成。其中表1I中的組件1田是struts框架實(shí)現(xiàn)的關(guān)鍵。大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文表11smns框架主要組件表Tab31 ChiefComponents ofStruts framework組俘 功能Struts-configlActionServletActionActionFormActionMappingActionForwardStruts標(biāo)記庫Struts配置文件控制器包含業(yè)務(wù)邏輯顯示數(shù)據(jù)模塊幫助控制器將請(qǐng)求映射到操作指示操作轉(zhuǎn)移的對(duì)象減輕開發(fā)視圖層的工作(1Struts配置文件Strutsconfig刪1文件是將Struts組件結(jié)合在一起的關(guān)鍵所在,默認(rèn)路徑為WEB-INFstruts-configxml E1”。可進(jìn)行如下配置:配置全局轉(zhuǎn)發(fā):全局轉(zhuǎn)發(fā)用在Web應(yīng)用程序中,通過JSP之間的創(chuàng)建邏輯名稱映射,可以代替JSP中復(fù)雜的編碼名稱,表12為屬性的描述。例如:forward n,越lle-=”toModuleB“path=”modulcBindexdo”盧表12全局轉(zhuǎn)發(fā)的屬性的描述Tab12 Amibutes ofglobal-forwards屬性 描述N柵ePath全局轉(zhuǎn)發(fā)的名字與目標(biāo)URL的相對(duì)路徑配置ActionMapping:ActionMapping對(duì)象幫助進(jìn)行框架內(nèi)部的流程控制,它們可將請(qǐng)求URI映射到Action類,并且將Action類與ActionForm bean相關(guān)聯(lián)。ActionServlet在內(nèi)部使用這些映射,并將控制轉(zhuǎn)移到特定Action類的實(shí)例。所有Action類使用execute(方法實(shí)現(xiàn)特定應(yīng)用程序代碼。返回一個(gè)ActionForward對(duì)象,其中包括響應(yīng)轉(zhuǎn)發(fā)的目標(biāo)資源名稱,表13為屬性的描述。例如:orion-mappingsforward name=”SUCCESS”contex憾elative=“Uue”path=“modulcAlogindo6,表13AcI:ionMapping的屬性描述Tab13 Attributes of-tionMapping屬性 描述PathN8meTypeScopePrefixSuflixAttributeClassNameInputUnknownValidateAorion類的相對(duì)路徑與本操作關(guān)聯(lián)的Action bean的名稱連接到本映射的Action類的全稱ActionForm bean的作用域用來匹配請(qǐng)求參數(shù)與bean屬性的前綴用來匹配請(qǐng)求參數(shù)與bean屬性的后綴作用域名稱Ac-tionMapping對(duì)象的類的完全限定名默認(rèn)的類是orgapachestrutsactionActionMapping輸入表單的路徑,指向bean發(fā)生輸入錯(cuò)誤必須返回的控制設(shè)為true,操作將被作為所有沒有定義的Actionlapping的uIu的默認(rèn)操作設(shè)置為true,則在調(diào)用Action對(duì)象上perform0方法前,ActionServlet將調(diào)用ActionForm bean的vaUdate0方法進(jìn)行輸入檢查元素定義了資源的邏輯名稱,該資源是Action類的響應(yīng)要轉(zhuǎn)發(fā)的目標(biāo),表14為屬性的描述。一8大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文表14Forward屬性描述Tab14 Attributes offorward屬性IdClassNameNamePathRedirectmActionForward類的完全限定名,默認(rèn)是orgapacheslrutsactionActionForward操作類訪問AcfionForward時(shí)所用的邏輯名響應(yīng)轉(zhuǎn)發(fā)的目標(biāo)資源的路徑若為true,則ActionScrvlc=t使用s翎d融甜 方法來轉(zhuǎn)發(fā)資源配置ActionForm:ActionServlet使用ActionForm來保存請(qǐng)求的參數(shù),這些bean的屬性名稱與HTTP請(qǐng)求參數(shù)中的名稱相對(duì)應(yīng),控制器將請(qǐng)求參數(shù)傳遞到ActionFormbean的實(shí)例,然后將這個(gè)實(shí)例傳送到Action類,表15為屬性的描述。例如:表15 ActionForm屬性描述Tab15 Attributes ofactionForm屬性 描述lddassNameNanleTypelDAcfionForm bean的完全限定名,默認(rèn)值是orgapachesmlmactionActionFormBean表單bean在相關(guān)作用域的名稱,這個(gè)屬性用來將bean與ActJonMapping進(jìn)行關(guān)聯(lián)類的完全限定名配置DBC數(shù)據(jù)源:JDBC數(shù)據(jù)源可以在配置文件中利用元素來定義,可同時(shí)配置多個(gè)數(shù)據(jù)源,實(shí)現(xiàn)業(yè)務(wù)邏輯對(duì)后臺(tái)數(shù)據(jù)系統(tǒng)的訪問。通過指定關(guān)鍵字名稱,Action類可以訪問數(shù)據(jù)源,例如:javaxsqlDataSource ds=servletfindDataSource(“conPool”:javaxsqlConnection con=dsgetConnection 0:(2ActionForm公交車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)ActionForm維持Web應(yīng)用程序的會(huì)話狀態(tài)。ActionForm是一個(gè)抽象類,必須為每個(gè)輸入表單創(chuàng)建該類的子類。一般設(shè)計(jì)的思想是一個(gè)頁面對(duì)應(yīng)一個(gè)ActionPorm,但是也有例外。ActionPorm是與一個(gè)或多個(gè)ActionConfig關(guān)聯(lián)的JavaBean,在相應(yīng)的action的execute方法被調(diào)用之前,ActionForm會(huì)自動(dòng)利用請(qǐng)求參數(shù)來初始化屬性。初始化完畢后,ActionForm的validate方法被調(diào)用,你可以在其中來檢查請(qǐng)求參數(shù)的正確性和有效性,并且可以將錯(cuò)誤信息以ActionErrors的形式返回到輸入頁面。否則,ActionForm將被作為參數(shù)傳給action的execute方法以供使用。ActionForm bean的生命周期可以設(shè)置為session(缺省和request,當(dāng)設(shè)置為session時(shí),記得在reset方法中將所有的屬性重新設(shè)置為初始值【12】。對(duì)于每一個(gè)請(qǐng)求,Struts framework在處理ActionForm的時(shí)候,一般需要經(jīng)歷如下幾個(gè)步驟:檢查Action的映射,確定Action中已經(jīng)配置了對(duì)ActionForm的映射。根據(jù)flame屬性,查找form bean的配置信息。檢查Action的form bean的使用范圍,確定在此范圍下,是否已經(jīng)有此formbean的實(shí)例。假如當(dāng)前范圍下,已經(jīng)存在了此form bean的實(shí)例,而是對(duì)當(dāng)前請(qǐng)求來說,是同一種類型的話,那么就重用。否則,就重新構(gòu)建一個(gè)form bean的實(shí)例。form bean的reset(方法被調(diào)用。調(diào)用對(duì)應(yīng)的setter方法,對(duì)狀態(tài)屬性賦值。如果validated的屬性被設(shè)置為true,那么就調(diào)用form bean的validate(方法。如果validateO方法沒有返回任何錯(cuò)誤,控制器將ActionForm作為參數(shù),傳給Action實(shí)例的execute(方法并執(zhí)行。(3Act ionServletActionServlet控制器是Struts框架中的中樞,ActionServlet被實(shí)現(xiàn)為一個(gè)專門處理HTTP請(qǐng)求的Servlet,它同時(shí)具有Servlet的特點(diǎn)。ActionServlet在Struts框架中主要完成以下功能:接收客戶端請(qǐng)求:根據(jù)客戶端的URI將請(qǐng)求映射到一個(gè)相應(yīng)的Action類;從請(qǐng)求中獲取數(shù)據(jù)填充FormBean(如果需要;調(diào)用Action類的execute(方法獲取數(shù)據(jù)或者執(zhí)行業(yè)務(wù)邏輯;選擇正確的視圖響應(yīng)客戶。步驟如下:由顯示頁面產(chǎn)生一個(gè)請(qǐng)求。請(qǐng)求被ActionServlet(控制器接收,它在strutsconfigxml文件中尋找請(qǐng)求的URI,找到對(duì)應(yīng)的Action類后,Action類執(zhí)行相應(yīng)的業(yè)務(wù)邏輯。大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文Action類執(zhí)行建立在模型組件基礎(chǔ)上的業(yè)務(wù)邏輯,模型組件是和應(yīng)用程序關(guān)聯(lián)的。一旦Action類處理完業(yè)務(wù)邏輯,它把控制權(quán)返回給ActionServlet。Action類提供個(gè)鍵值作為返回的一部分,它指明了處理的結(jié)果。kctionServlet使用這個(gè)鍵值來決定在什么視圖中顯示Action的類處理結(jié)果。當(dāng)ActionServlet把Action類的處理結(jié)果傳送到指定的頁面中,請(qǐng)求的過程也就完成了。此外,ActionServlet還負(fù)責(zé)初始化和清除應(yīng)用配置信息的任務(wù)。ActionServlet的初始化工作在init方法中完成,它可以分為兩個(gè)部分:初始化ActlonServlet自身的一些信息以及每個(gè)模塊的配置信息。(4ActionAction可以說是整個(gè)框架的心臟。他是客戶請(qǐng)求和業(yè)務(wù)操作的連接橋,也可以將其看作是業(yè)務(wù)操作的客戶代理。應(yīng)用中通過繼承Action類來實(shí)現(xiàn)具體的執(zhí)行類。具體Action類的功能一般都在execute(以前是perform方法方法中完成。你需要擴(kuò)展action類,并實(shí)現(xiàn)它的execute(方法,在此方法中添加你自己的處理代碼。注意將業(yè)務(wù)邏輯執(zhí)行分離到單獨(dú)的JavaBean中,而Action只負(fù)責(zé)錯(cuò)誤處理和流程控制。而且考慮到重用性的原因,在執(zhí)行業(yè)務(wù)邏輯的JavaBean中不要引用任何與Web應(yīng)用相關(guān)的對(duì)象,比如HttpservletRequest,HttpServletResponse等對(duì)象,而應(yīng)該將其轉(zhuǎn)化為普通的Java對(duì)象。其功能主要涉及到以下幾個(gè)方面:輔助ActionForm進(jìn)行一些表單數(shù)據(jù)的檢查。執(zhí)行必要的業(yè)務(wù)邏輯,比如存取數(shù)據(jù)庫,調(diào)用實(shí)體bean等。更新服務(wù)器端的bean數(shù)據(jù),后續(xù)對(duì)象中可能會(huì)用到這些數(shù)據(jù),比如在JSP中利用bean:_rrite來獲得這些數(shù)據(jù)。根據(jù)處理結(jié)果決定程序的去處,并以ActionPorward對(duì)象的形式返回給ActiOnServlet。Action類被設(shè)計(jì)為線程安全的,在每個(gè)應(yīng)用中每個(gè)Action類只會(huì)被實(shí)例化一次,供所有線程共享。RequestProcessor利用一個(gè)HashMap用來保存Action實(shí)侈4。(5ActionMapping輸入事件通常是在HTTP請(qǐng)求表單中發(fā)生的,servlet容器將HTTP請(qǐng)求轉(zhuǎn)換為HttpServletRequest。控制器查看輸入事件并將請(qǐng)求分派給某個(gè)Action類。struts-configxml確定Controller調(diào)用哪個(gè)Action類。strutsconfigxml配置信公交車輛管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)息被轉(zhuǎn)換為一組ActionMapping,而后者又被放入kction婦ppings容器中。(一般來說設(shè)計(jì)的時(shí)候以S結(jié)尾的類就是容器ActionMapping包含有關(guān)特定事件如何映射到特定Action的信息。ActionServlet(Command通過perform 0方法將Actior堋apping傳遞給Action類。這樣就使Action可訪問用于控制流程的信息。(6ActionForwardActionForward的用途是為了減少應(yīng)用和物理資源(JSP頁面,Java servlet的耦合,物理資源只需要在配置文件中指定(利用name,path屬性和forward元素的redirect屬性,而不是在代碼中指定。RequestDispatcher利用ActionForward來執(zhí)行重定向操作。要在Action中返回一個(gè)ActionForward對(duì)象,你可以動(dòng)態(tài)地創(chuàng)建一個(gè)ActionForward對(duì)象,不過更為通用的解決方案是,通過在Struts配置文件中進(jìn)行action映射,然后通過關(guān)鍵字去查我一個(gè)ActionForward。下面是代碼示例:return mappingfindForward(”Success”: 上面的代碼中,success”作為參數(shù)被傳遞到ActionMapping的findFoward(方法中,findFoward(方法在Struts配置文件的910b81一forwards區(qū)域,以及被調(diào)旁的action的forward元素中查找名字和”Success”相匹配的元素。(7Struts標(biāo)簽庫Struts標(biāo)簽庫在開發(fā)中的應(yīng)用十分廣泛,使用標(biāo)簽進(jìn)行開發(fā)可以提高開發(fā)的速度。struts-bean taglib:包含在訪問bean和bean屬性時(shí)使用的tag,也包含一些消息顯示的tag。它主要用于定義新bean、訪問bean及其屬性。struts-html taglib:包含用來生成動(dòng)態(tài)HTML用戶界面和窗體的tag,它主要用來生成HT禮標(biāo)記,在表單中顯示數(shù)據(jù),使用會(huì)話ID對(duì)UEL進(jìn)行編程。struts-logic taglib:包含的tag用來管理根據(jù)條件生成輸出文本,和其它一些用來控制的信息,它主要用來在JSP頁面中控制流程。strutstemplate taglib;包含的tag用來定義模板機(jī)制,它支持使用動(dòng)態(tài)模板構(gòu)造的普通格式的頁面。大連理工大學(xué)專業(yè)學(xué)位碩士學(xué)位論文2系統(tǒng)的需求分析21系統(tǒng)結(jié)構(gòu)211系統(tǒng)的功能概述在沈陽市公交事業(yè)的快速發(fā)展中,由于管理制度等諸多因素的影響,致使公交行業(yè)還不能更好地適應(yīng)城市公交營運(yùn)市場發(fā)展的需要,資源配置的規(guī)模效應(yīng)不明顯,政企不分,營運(yùn)線網(wǎng)結(jié)構(gòu)、站點(diǎn)布局不合理,服務(wù)總體水平不高。因此,組建公交集團(tuán)公司,實(shí)施國有資產(chǎn)授權(quán)經(jīng)營,有利于明確產(chǎn)權(quán)主體,實(shí)現(xiàn)政企分開,建立現(xiàn)代化企業(yè)制度;有利于促進(jìn)公共交通及相關(guān)企業(yè)之間的資產(chǎn)、技術(shù)、管理和人才資源的優(yōu)化配置;有利于拓展投融資渠道;廣泛吸納社會(huì)資金,促進(jìn)城市公共交通事業(yè)步入良性循環(huán)軌道;有利于服務(wù)全市人民生活和經(jīng)濟(jì)建設(shè),促進(jìn)城市公共交通可持續(xù)發(fā)展。組建后的公交集團(tuán)希望通過信息技術(shù)改造來實(shí)現(xiàn)高速運(yùn)轉(zhuǎn),全面引進(jìn)先進(jìn)的信息以增強(qiáng)自身實(shí)力、提高國際競爭力。通過合理、先進(jìn)、高效、科學(xué)的信息化管理方式有效安排運(yùn)營生產(chǎn),優(yōu)化公交場站和線網(wǎng)布局,建立公交智能管理系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)采集和傳輸標(biāo)準(zhǔn)化,增強(qiáng)企業(yè)綜合服務(wù)能力,提高企業(yè)內(nèi)部管理效率,實(shí)現(xiàn)企業(yè)可持續(xù)發(fā)展目標(biāo)。公交集團(tuán)車輛管理系統(tǒng)包括系統(tǒng)管理、生產(chǎn)消耗管理、設(shè)備管理、生產(chǎn)計(jì)劃管理、綜合查詢、統(tǒng)計(jì)分析、輔助管理。(1系統(tǒng)管理包括口令修改、初始化單位設(shè)置、基礎(chǔ)管理、用戶管理、權(quán)限管理、系統(tǒng)日志管理。(2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論