版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
西安理工大學(xué)畢業(yè)設(shè)計(論文)題目基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)專業(yè)軟件工程年級軟件051學(xué)號324學(xué)生234指導(dǎo)教師234完成時間234摘要隨著移動設(shè)備普及和無線通信技術(shù)的迅猛發(fā)展,無線射頻識別技術(shù)應(yīng)用的范圍越來越廣。本文從現(xiàn)實(shí)需求出發(fā),設(shè)計一個基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)。J2ME(Java2MicroEdition)是Java語言三大平臺之一,它主要針對資源受限設(shè)備進(jìn)行應(yīng)用程序的開發(fā)。它將Java語言的與平臺無關(guān)的特性移植到小型電子設(shè)備上,允許移動無線設(shè)備之間共享應(yīng)用程序。J2EEJava2平臺企業(yè)版(Java2Platform,EnterpriseEdition)是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價值。本文采用這兩種技術(shù)來進(jìn)行基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)的設(shè)計與開發(fā)。論文首先介紹了J2ME技術(shù)的一些基本概念及體系結(jié)構(gòu),MIDP的基本編程方法。然后介紹了J2ME的技術(shù)以及struts的相關(guān)知識。接著,重點(diǎn)的介紹了基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)的設(shè)計與開發(fā)過程,根據(jù)總體設(shè)計,提出了系統(tǒng)設(shè)計模型。系統(tǒng)分為服務(wù)器端和客戶端,服務(wù)器端由一系列struts框架開發(fā)實(shí)現(xiàn),客戶端利用開發(fā)MIDlet實(shí)現(xiàn)。服務(wù)器端有兩種用戶:管理員和游客,管理員功能主要是對景點(diǎn)信息的修改、標(biāo)簽的管理、景點(diǎn)客流量的統(tǒng)計、游客的旅游日志管理以及客戶端服務(wù)信息管理功能。客戶端功能主要是查詢定位功能、地圖展示、地圖展示、行程規(guī)劃以及隨身貼士功能。本文重點(diǎn)介紹了這些功能的實(shí)現(xiàn)與設(shè)計。然后對系統(tǒng)設(shè)計與編碼過程中所遇到的重點(diǎn)難點(diǎn)作了介紹,最后,對本文工作做出了總結(jié),并提出了進(jìn)一步工作的設(shè)想。關(guān)鍵詞:RFID、J2ME、J2EE、struts、框架AbstractAlongwithmobileequipmentpopularandwirelesscommunicationtechnologyrapiddevelopment,thewirelessradiofrequencyrecognitiontechnologyapplication'sscopeisgettingmoreandmorebroad.Thisarticleembarksfromtherealisticdemand,designsonebasedontheRFIDscenicspotsurveysystem.J2ME(JAVA2MICROEDITION)isJAVAlanguageoneofthreebigplatforms,itmainlyaimsattheresourcestolimittheequipmenttocarryontheapplicationprocedurethedevelopment.ItthecharacteristicwhichhasnothingtodowiththeplatformtransplantstheJAVAlanguagetotheminiaturizedelectronicson,betweenthepermissionmigrationradioequipmentrepsharestheapplicationprocedure.J2EEtheJAVA2platformenterpriseversion(JAVA2PLATFORM,ENTERPRISEEDITION)isasetiscompletelydifferentinthetraditionalapplicationdevelopmenttechnicalconstruction,containsmanymodules,mainlymaysimplify,andthestandardapplicationsystem'sdevelopmentandthedeployment,thenenhancetheprobability,thesecurityandusethevalueagain.ThisarticleusesthesetwokindoftechnologiestocarryonbasedontheRFIDscenicspotsurveysystem'sdesignandthedevelopment.ThepaperfirstintroducedJ2MEtechnologysomebasicconceptsandthearchitecture,theMIDPbasicprogrammingmethod.ThenintroducedtheJ2MEtechnologyandtheSTRUTSrelatedknowledge.Then,thekeyintroductionbasedontheRFIDscenicspotsurveysystem'sdesignandtheperformancehistory,accordingtothesystemdesign,proposedthesystemdesignmodel.Thesystemdividesintotheserverendandtheclientside,theserveroriginaseriesofSTRUTSframedevelopmentrealizes,theclientsideusedevelopsMIDLETtorealize..Theserverendhastwokindofusers:Themanagerandthetourist,themanagerfunctionismainlytothescenicspotinformationrevision,label'smanagement,thescenicspotpassengercapacitystatistics,tourist'stravelingdiarymanagementaswellastheclientsideserviceinformationmanagementfunction.Theclientsidefunctionismainlyinquiresthelocalizationfunction,themapdemonstration,themapdemonstration,thetravelingscheduleplanaswellasalongwiththetipsfunction.Thisarticleintroducedwithemphasisthesefunction'srealizationwithdesigns.Thenthekeydifficultywhichmeetstothesystemdesignandthecodeprocessmakessaidthatfinally,workedtothisarticlehasmadethesummary,andproposedfurtherworkedtentativeplanKeywords:RFID、J2ME、J2EE、struts、Frame.目錄第一章緒論 1課題背景與意義 11.1.1基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)概述 11.1.2移動通信技術(shù)的發(fā)展現(xiàn)狀及趨勢 2射頻識別系統(tǒng)的定義 2選題的目的和意義 21.2無線射頻識別RFID 31.2.1RFID簡介 31.2.2RFID組成及工作原理 41.2.3RFID的優(yōu)勢 51.3論文主要工作與結(jié)構(gòu) 5第二章相關(guān)技術(shù) 72.1J2ME技術(shù)介紹 72.1.1Java技術(shù)的分類 72.1.2J2ME的優(yōu)勢 82.1.3J2ME的體系結(jié)構(gòu) 82.2MIDP的編程方法 112.2.1J2MEWirelessToolkit的安裝 112.2.2MIDlet程序的基本結(jié)構(gòu) 112.2.3MIDlet的生命周期 132.2.4MIDlet應(yīng)用程序開發(fā)流程 142.3struts開發(fā) 142.3.1struts的定義 142.3.2Struts的概念和體系結(jié)構(gòu) 152.3.3struts配置 162.3.4struts的基本元素 172.3.5struts的國際化 182.3.6struts的特點(diǎn) 18第三章基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)實(shí)現(xiàn) 20系統(tǒng)概述 20客戶端功能模塊實(shí)現(xiàn) 22查詢定位功能 223.2.2地圖展示功能 24行程規(guī)劃功能 31旅游黃頁功能 31景點(diǎn)介紹功能 32隨身貼士功能 363.3服務(wù)器功能實(shí)現(xiàn) 36服務(wù)器訪問數(shù)據(jù)庫數(shù)據(jù) 363.3.2游客登陸注冊 383.3.3游客訂票服務(wù) 393.3.3景點(diǎn)查詢功能 413.3.4景點(diǎn)維護(hù)功能 413.3.5系統(tǒng)設(shè)備管理功能 423.3.6游客信息管理功能 433.3.7客流量信息管理功能 453.3.8服務(wù)信息管理功能 483.4數(shù)據(jù)庫功能實(shí)現(xiàn) 49第四章難點(diǎn)與對策 54struts學(xué)習(xí) 544.2J2ME地圖處理 54第五章結(jié)論 56總結(jié) 56展望 56致謝語 57參考文獻(xiàn) 57第一章緒論1.基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)概述最近幾年,RFID(無線射頻識別技術(shù))被廣泛的利用在各方面,現(xiàn)在越來越多的移動設(shè)備都提供了無線上網(wǎng)功能,也有越來越多的地方開始設(shè)置無線網(wǎng)絡(luò)基站以提供無線上網(wǎng)服務(wù)。移動設(shè)備與無線網(wǎng)絡(luò)的結(jié)合將帶給生活更多便利。同時,已經(jīng)有很多款移動智能終端提供了RFID讀寫器配件,可以方便的將RFID技術(shù)和智能終端的無線網(wǎng)絡(luò)服務(wù)相結(jié)合。現(xiàn)階段,在旅游區(qū)所采用的導(dǎo)覽服務(wù)大概分為如下兩種方式:(1)用錄音帶的語音導(dǎo)覽。它的優(yōu)點(diǎn)是參觀者可自由走動,選擇本身有興趣的展品或展區(qū)參觀學(xué)習(xí)。但由于儲存容量的限制,當(dāng)參觀者想多獲取比較感興趣的展品的一些相關(guān)知識時,其往往無法提供較全面的知識,且互動性不足,加之體積龐大,難吸引小朋友使用。此外,聽障朋友們也無法享受語音導(dǎo)覽的解說方式。(2)解說員導(dǎo)覽方式。它由一名解說員帶領(lǐng)一群參觀者重點(diǎn)式地解說重要的文物或景點(diǎn),其優(yōu)點(diǎn)為可以即問即答,但是參與的參觀者必須亦步亦趨地跟隨解說員,且須凝神注意聆聽解說,給參觀者在學(xué)習(xí)中造成不便,且解說人員的數(shù)目有限,加之培養(yǎng)專業(yè)解說人員需要花費(fèi)大量的人事開銷,非常不符合經(jīng)濟(jì)效應(yīng)。本文提出使用RFID技術(shù)開發(fā)出一套運(yùn)行在移動終端的導(dǎo)覽系統(tǒng)——基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)。本系統(tǒng)可以在客戶端通過查看電子閱讀器來選擇相關(guān)景點(diǎn)的圖文聲像的信息,也可以根據(jù)景點(diǎn)客流量以及喜好程度來選擇導(dǎo)覽線路,服務(wù)器端可以由管理員來管理相關(guān)的設(shè)備、游客和景點(diǎn)信息。移動通信技術(shù)的發(fā)展現(xiàn)狀及趨勢當(dāng)前,移動、無線技術(shù)領(lǐng)域正處在一個高速發(fā)展的時期,各種創(chuàng)新移動、無線技術(shù)不斷涌現(xiàn)并快速步入商用,移動、無線應(yīng)用市場異?;钴S,移動、無線技術(shù)自身也在快速演進(jìn)中不斷革新。在網(wǎng)絡(luò)融合的大趨勢下,3G、WiMAX、WLAN等各種移動、無線技術(shù)在演進(jìn)中相互融合。在多元融合的大趨勢下,3G、WiMAX、WLAN等各種無線技術(shù)在競爭中互相借鑒和學(xué)習(xí),涌現(xiàn)出了同時被上述無線技術(shù)采用的新型射頻技術(shù),如MIMO和OFDM技術(shù)等。與此同時,在以ITU和3GPP/3GPP2為引領(lǐng)的蜂窩移動通信從3G到E3G,再走向B3G/4G的演進(jìn)道路上,以及IEEE引領(lǐng)的無線寬帶接入從無線個人域網(wǎng)到無線局域網(wǎng)、無線城域網(wǎng),再到無線廣域網(wǎng)的演進(jìn)道路上,都開始增加對方的內(nèi)容,例如:移動通信不斷強(qiáng)化寬帶傳輸性能,無線寬帶接入不斷增強(qiáng)漫游性能以及安全性能。射頻識別系統(tǒng)的定義射頻識別(RadioFrequencyIdentification,RFID):俗稱電子標(biāo)簽,是一種非接觸式的自動識別技術(shù),它通過射頻信號自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù),識別工作無須人工干預(yù),可工作于各種惡劣環(huán)境。RFID技術(shù)可識別高速運(yùn)動物體并可同時識別多個標(biāo)簽,操作快捷方便。它由標(biāo)簽(Tag)、閱讀器(Reader)、天線(Antenna)組成。RFID技術(shù)的基本工作原理:標(biāo)簽進(jìn)入磁場后,接收解讀器發(fā)出的射頻信號,憑借感應(yīng)電流所獲得的能量發(fā)送出存儲在芯片中的產(chǎn)品信息(PassiveTag,無源標(biāo)簽或被動標(biāo)簽),或者主動發(fā)送某一頻率的信號(ActiveTag,有源標(biāo)簽或主動標(biāo)簽);解讀器讀取信息并解碼后,送至中央信息系統(tǒng)進(jìn)行有關(guān)數(shù)據(jù)處理。選題的目的和意義“隨著計算機(jī)技術(shù)、無線網(wǎng)絡(luò)通信以及互聯(lián)網(wǎng)技術(shù)飛速發(fā)展,RFID產(chǎn)業(yè)將在各個領(lǐng)域大放異彩?!保说?哈若普如是說。RFID應(yīng)用領(lǐng)域日益擴(kuò)大,現(xiàn)已涉及到人們?nèi)粘I畹母鱾€方面,并將成為未來信息社會建設(shè)的一項基礎(chǔ)技術(shù)。RFID可以應(yīng)用于圖書與文檔管理、門禁管理、定位與物體跟蹤、環(huán)境感知和支票防偽等多種應(yīng)用領(lǐng)域。但在旅游業(yè)上的應(yīng)用還僅限于門禁管理。RFID技術(shù)作為未來最有前途的信息技術(shù)之一,更得到了全世界的廣泛重視,在很短的時間內(nèi)取得了巨大發(fā)展。近兩年,社會各界也越來越重視RFID技術(shù)在國內(nèi)的發(fā)展和應(yīng)用。領(lǐng)域內(nèi)的各大企業(yè)紛紛投入到研究、開發(fā)技術(shù)與應(yīng)用的隊伍中來。研究與開發(fā)RFID導(dǎo)覽系統(tǒng)的目的是為參觀者自動提供個性化和交互式的多媒體信息。參觀者利用帶有CFRFID讀寫器的PDA讀取景點(diǎn)處的RFID標(biāo)簽后,關(guān)于此景點(diǎn)的詳細(xì)數(shù)據(jù)、資料、圖片或者影片等豐富的多媒體導(dǎo)覽資訊馬上顯示出來。RFID導(dǎo)覽系統(tǒng)讓參觀者可隨興趣,自然地取得景點(diǎn)的導(dǎo)覽資料,給參觀者帶來極大的便利。1.2無線射頻識別RFIDRFID簡介RFID是一種非接觸式的自動識別技術(shù),它通過射頻信號自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù),識別工作無須人工干預(yù)。作為條形碼的無線版本,RFID技術(shù)具有條形碼所不具備的防水、防磁、耐高溫、使用壽命長、讀取距離大、標(biāo)簽上數(shù)據(jù)可以加密、存儲數(shù)據(jù)容量更大、存儲信息更改自如等優(yōu)點(diǎn),已經(jīng)被世界公認(rèn)為本世紀(jì)十大重要技術(shù)之一,在生產(chǎn)、零售、物流、交通等各個行業(yè)等各個行業(yè)有著廣闊的應(yīng)用前景。利用智能電子標(biāo)簽來標(biāo)識各種物品的一種新的識別技術(shù),其核心是智能電子標(biāo)簽,這種標(biāo)簽根據(jù)無線射頻標(biāo)識原理RFID(RadioFrequencyIdentificationSystem)而生產(chǎn),它與讀寫器通過無線射頻信號交換信息,電子標(biāo)簽是未來標(biāo)簽市場的一種終極產(chǎn)品。現(xiàn)在,RFID是AIDC領(lǐng)域最熱門的技術(shù),盡管這種技術(shù)已經(jīng)存在發(fā)展了許多年了,但它只有在從本領(lǐng)域眾多的發(fā)明技術(shù)中總結(jié)規(guī)劃出一個技術(shù)標(biāo)準(zhǔn)以后才能得到快速的切實(shí)的應(yīng)用,ISO和AIM(AUTO-IDMANUFACTURES)正在進(jìn)行這方面的工作,相信不久的將來,RFID會得到很快的發(fā)展。1.2.2RFID組成及工作原理(1)標(biāo)簽標(biāo)簽也被稱為電子標(biāo)簽或智能標(biāo)簽,它是內(nèi)存帶有天線的芯片,芯片中存儲有能夠識別目標(biāo)的信息。RFID標(biāo)簽具有持久性,信息接收傳播穿透性強(qiáng),存儲信息容量大、種類多等特點(diǎn)。有些RFID標(biāo)簽解讀器通過接收標(biāo)簽發(fā)出的無線電波接收讀取數(shù)據(jù)。最常見的是被動射頻系統(tǒng),當(dāng)解讀器遇見RFID標(biāo)簽時,發(fā)出電磁波,周圍形成電磁場,標(biāo)簽從電磁場中獲得能量激活標(biāo)簽中的微芯片電路,芯片轉(zhuǎn)換電磁波,然后發(fā)送給解讀器,解讀器把它轉(zhuǎn)換成相關(guān)數(shù)據(jù)??刂朴嬎闫骶涂梢蕴幚磉@些數(shù)據(jù)從而進(jìn)行管理控制。在主動射頻系統(tǒng)中,標(biāo)簽中裝有電池在有效范圍內(nèi)活動。支持讀寫功能,目標(biāo)物體的信息能隨時被更新。(2)讀寫器讀寫器分為手持和固定兩種,由發(fā)送器,接收儀,控制模塊和TRANSCEIVER組成,TRANSCEIVER和控制計算機(jī)或PLC連接從而實(shí)現(xiàn)它的溝通功能。解讀器也有天線接收和傳輸信息。(3)數(shù)據(jù)傳輸和處理系統(tǒng)工作原理:解讀器通過接收標(biāo)簽發(fā)出的無線電波接收讀取數(shù)據(jù)。最常見的是被動射頻系統(tǒng),當(dāng)解讀器遇見RFID標(biāo)簽時,發(fā)出電磁波,周圍形成電磁場,標(biāo)簽從電磁場中獲得能量激活標(biāo)簽中的微芯片電路,芯片轉(zhuǎn)換電磁波,然后發(fā)送給解讀器,解讀器把它轉(zhuǎn)換成相關(guān)數(shù)據(jù)??刂朴嬎闫骶涂梢蕴幚磉@些數(shù)據(jù)從而進(jìn)行管理控制。在主動射頻系統(tǒng)中,標(biāo)簽中裝有電池在有效范圍內(nèi)活動。1.2.3RFID的優(yōu)勢(1)RFID通過自動的方式迅速簡便無誤的獲得關(guān)于產(chǎn)品,地點(diǎn),時間,交易的信息。不用接觸,看見目標(biāo),即使物品被牢固包裝或是環(huán)境不適,也不會影響它的識別功能。這是它有別于條形碼的一大特點(diǎn)。(2)RFID并不僅僅是代碼,它能夠讀寫數(shù)據(jù),能夠在處理系統(tǒng)中儲存資料,并可以將其連接到PC或PLC網(wǎng)絡(luò)上。RFID能夠提高數(shù)據(jù)質(zhì)量,貨物管理,資料持久保存等。(3)RFID在供貨鏈中的運(yùn)用能夠提高管理,加強(qiáng)終端對終端的連接。RFID的運(yùn)作不需要人工介入,它無線運(yùn)作,具有讀寫功能。1.3論文主要工作與結(jié)構(gòu)本文的工作主要包括:(1)學(xué)習(xí)和了解了移動RFID相關(guān)概念、理論和設(shè)計方法。(2)分析現(xiàn)階段RFID的設(shè)計原理和實(shí)現(xiàn)方法。(3)學(xué)習(xí)掌握sqlserver數(shù)據(jù)庫、服務(wù)器開發(fā)原理及其應(yīng)用,深入學(xué)習(xí)J2EE及J2ME的開發(fā)原理,采用三層結(jié)構(gòu)模型。(4)基于J2ME技術(shù),開發(fā)實(shí)現(xiàn)一個基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng),系統(tǒng)包括三個層次:服務(wù)器端:A)采用tomcat服務(wù)器作為servlet的引擎,支持不同類型的應(yīng)用服務(wù)程序。b)采用struts框架設(shè)計和設(shè)計和開發(fā)課題??蛻舳耍篴)采用J2ME的CLDC/MIDP規(guī)范,通過協(xié)議向服務(wù)器發(fā)出請求。b)采用多線程技術(shù)和消息隊列處理用戶操作和服務(wù)器消息,有效解決了響應(yīng)及顯示的及時性。數(shù)據(jù)層:a)采用數(shù)據(jù)庫sqlserver2000數(shù)據(jù)。(5)對本文所開發(fā)的系統(tǒng)的重點(diǎn)難點(diǎn)作出了總結(jié)。論文共分5章,結(jié)構(gòu)如下:第一章為前言,簡單介紹了當(dāng)前RFID應(yīng)用的發(fā)展現(xiàn)狀,RFID實(shí)現(xiàn)的意義和目標(biāo)以及RFID的基本理論。第二章主要對景點(diǎn)導(dǎo)覽系統(tǒng)的開發(fā)技術(shù)進(jìn)行了介紹。對J2ME技術(shù)、J2EE技術(shù)、MIDP的編程方法進(jìn)行詳細(xì)的介紹。第三章是本文的重點(diǎn),詳細(xì)講述了景點(diǎn)導(dǎo)覽系統(tǒng)的實(shí)現(xiàn)過程。分別講述了客戶端的實(shí)現(xiàn)原理、代碼及圖示,服務(wù)器端的實(shí)現(xiàn)原理、代碼及圖示,比較清晰的展現(xiàn)了系統(tǒng)的功能實(shí)現(xiàn)。第四章主要是針對在開發(fā)過程中遇到的難點(diǎn)的一個回顧。因?yàn)樵诿總€階段都會遇到很多問題、難點(diǎn),所以在這里列出幾個來重點(diǎn)講解一下,也從側(cè)面來反映系統(tǒng)的開發(fā)過程。第五章是對整個學(xué)習(xí)過程的總結(jié),講述自己在學(xué)習(xí)過程中的心得體會。第二章相關(guān)技術(shù)2.1J2ME技術(shù)介紹Java技術(shù)的分類圖2SEQ圖表\*ARABIC\s11Java體系結(jié)構(gòu)Java的最大目標(biāo)和特點(diǎn),就是“一次編寫,到處運(yùn)行”的平臺無關(guān)性。但是,正如Sun認(rèn)識到的,一套標(biāo)準(zhǔn)無法適應(yīng)各式各樣的需求。因此,Java技術(shù)目前共有三套,分別針對不同的平臺的應(yīng)用。Java2PlatformStandardEdition(J2SE,java標(biāo)準(zhǔn)版):針對桌面端的PC和工作站的個人和低端商務(wù)應(yīng)用。Java2PlatformEnterpriseEdition(J2EE,java企業(yè)版):針對服務(wù)器端企業(yè)級應(yīng)用,支持Servlet、JSP和XML等等。Java2PlatformMicroEdition(J2ME,java移動版):針對有限內(nèi)存、顯示和處理能力的設(shè)備,主要是消費(fèi)電子和嵌入式設(shè)備領(lǐng)域(這實(shí)際正是Java語言設(shè)計最初的目標(biāo)領(lǐng)域)。J2ME的優(yōu)勢移動設(shè)備PDA市場的繁榮發(fā)展造成了五花八門的廠商與品種異常廣泛的設(shè)備例如兩種設(shè)備也許具有相同的功能當(dāng)實(shí)現(xiàn)的方法可能會有相當(dāng)大的區(qū)別例如對PDA和手持來說都具有顯示的功能但屏幕的實(shí)際尺寸卻有很大的區(qū)別支持的色深也不相同重復(fù)的開發(fā)工作以及移植的不便性使得開發(fā)成本與開發(fā)難度不斷提高這就使得設(shè)備廠商要求擁有一個統(tǒng)一的開發(fā)平臺J2ME的體系結(jié)構(gòu)值得注意的是,Java所宣稱的“一次編譯,到處運(yùn)行”在這里是不適用的。這種“跨平臺”在某些時候是毫無意義的。在J2SE上編譯好的程序在J2ME上是沒辦法運(yùn)行的,因?yàn)閺膬煞N平臺所支持的類庫到程序的結(jié)構(gòu)都有所不同。所以在設(shè)計J2ME應(yīng)用時應(yīng)該充分考慮到這些因素。下圖給出J2ME一個總體的構(gòu)架。圖22J2ME一個總體的構(gòu)架下面我們分別來介紹這三部分:ConfigurationJ2ME將嵌入式設(shè)備分為兩類:一種是CDC(ConnectedDeviceConfiguration,資源無限設(shè)備),另一種是CLDC(ConnectedLimitedDeviceConfiguration,資源受限設(shè)備)。資源受限設(shè)備一般指、PDA這種運(yùn)算能力有限、電力供應(yīng)依靠電池、網(wǎng)絡(luò)帶寬有限的設(shè)備。而資源無限設(shè)備是相對資源有限設(shè)備來說的,它們一般有充足的電力供應(yīng),如電視機(jī)頂盒等。在CDC和CLDC規(guī)范中,又分別定義硬件要滿足的要求。如表2-1:表2-1CLDC和CDC的比較CDCCLDCJSR編號JSR-36JSR-30電源供應(yīng)充足電池供電有限網(wǎng)絡(luò)必須有連接網(wǎng)絡(luò)的能力僅支持有線方式的網(wǎng)絡(luò)連接功能主要應(yīng)用電視機(jī)頂盒、高端PDAetc.、雙向?qū)ず魴C(jī)、PDAetc.虛擬機(jī)CVMKVM支持的ProfileFoundationProfileMIDPRAM不小于256KRAM與ROM再加閃存要為128k~512kROM不小于512KRAM與ROM再加閃存要為128k~512k在規(guī)范中所定義的類庫除了Java標(biāo)準(zhǔn)核心類庫的子集外,也加入了與該類型的設(shè)備特性相符的擴(kuò)充類庫。整體來說,J2ME先把所有的嵌入式設(shè)備利用Configuration概念化分成兩種類型,與其它Java版本對于核心類庫與擴(kuò)充類庫的概念相比較。CLDC和CDC的范圍應(yīng)該如圖23所示:圖23CDC、CLDC的范圍Profile通常同一個Java程序在不同的嵌入式設(shè)備上所顯示的用戶界面風(fēng)格不完全一樣。在不同設(shè)備上具體應(yīng)該怎樣顯示就定義在Profile中。Profile中也定義了程序應(yīng)該如何與用戶或設(shè)備交互(例如,程序的生命周期,如何接受來自用戶的信息)。Profile中定義的擴(kuò)充類庫是根據(jù)底層Configuration內(nèi)所定義的核心類庫所建立的,為了更符合特殊設(shè)備的需求,Profile會在Configuration中的類增加新的方法,或是讓方法拋出新的異常。在Profile中也定義了特定種類嵌入式設(shè)備的最小配備需求。一般情況下Profile對顯示功能、網(wǎng)絡(luò)功能以及耗電量等相關(guān)需求會比Configuration中的需求要高。建立在CLDC上的Profile有:MIDP(MobileInformationDeviceProfile),這個Profile是針對移動設(shè)備所定義的,如、尋呼機(jī)等,本文客戶端的實(shí)現(xiàn)就是采用MIDP2.0。所以說本系統(tǒng)的客戶端不只是,而是所有采用MIDP2.0規(guī)范的移動設(shè)備。InformationModuleProfile,是為不需要圖形界面的小型設(shè)備定制的。另外各個生產(chǎn)廠商也制定了自己的各種Profiles。OEMExtensions/OptionalPackage。除了Configuration和Profile之外,在J2ME規(guī)范中還定義了廠商選擇性實(shí)現(xiàn)包。廠商選擇性實(shí)現(xiàn),通常是一些本身具有獨(dú)立價值的API,廠商可以依照自己的需求,選擇性的實(shí)現(xiàn)其中某些OptionalPackages規(guī)范。廠商選擇性實(shí)現(xiàn)包與CLDC和MIDP的關(guān)系如下圖2-4所示:圖24CLDC和MIDP的關(guān)系2.2MIDP的編程方法J2MEWirelessToolkit的安裝MIDP應(yīng)用程序的外,還必須借助一些特殊的開發(fā)工具和程序庫。因此必須要額外安裝J2MEWirelessToolkit(簡稱WTK)。您可以該站點(diǎn):2,下載該軟件的最新版本J2MEWirelessToolkit2.2.1MIDlet程序的基本結(jié)構(gòu)在MIDP中定義了一種新的應(yīng)用程序模型MIDlet。MIDlet是一個可以執(zhí)行的應(yīng)用程序及基本單位,它繼承自javax.microedition.midlet.MIDlet,被JAM(JavaApplicationManager)管理,同時MIDlet可以和JAM通信。通知應(yīng)用管理軟件自己狀態(tài)的變化,通常是通過方法notifyDestroyed()和notifyPaused()實(shí)現(xiàn)的。MIDlet繼承自javax.microedition.midlet.MIDlet。該類中定義了三個抽象方法startApp(),pauseApp()和DestroyApp()。因此,我們編寫的程序必須重寫這三個方法。一個MIDlet應(yīng)用程的基本程序結(jié)構(gòu)如下:代碼importjavax.microedition.midlet.*;importjavax.microedition.lcdui.*;publicclassHelloWorldextendsMIDletimplementsCommandListener{privateCommandexitCommand;privateTextBoxtb;publicHelloWorld(){exitCommand=newCommand("Exit",Command.EXIT,1);tb=newTextBox("HelloMIDlet","Hello,World!",15,0);tb.addCommand(exitCommand);tb.setCommandListener(this);}protectedvoidstartApp(){Display.getDisplay(this).setCurrent(tb);}protectedvoidpauseApp(){}protectedvoiddestroyApp(booleanu){}publicvoidcommandAction(Commandc,Displayabled){if(c==exitCommand){destroyApp(false);notifyDestroyed();}}}MIDlet的生命周期MIDlet有三個狀態(tài),分別是Pause,Active和Destroyed。在啟動一個MIDlet的時候,應(yīng)用管理軟件會首先創(chuàng)建一個MIDlet實(shí)例并使得他處于Pause狀態(tài),當(dāng)startApp()方法被調(diào)用的時候MIDlet進(jìn)入Active狀態(tài),也就是所說的運(yùn)行狀態(tài)。在Active狀態(tài)調(diào)用destroyApp(booleanunconditional)或者pauseApp()方法可以使MIDlet進(jìn)入Destroyed或者Pause狀態(tài)。事實(shí)上,當(dāng)destroyApp()方法被調(diào)用的時候,AMS通知MIDlet進(jìn)入Destroyed狀態(tài)。在Destroyed狀態(tài)的MIDlet必須釋放了所有的資源,并且保存數(shù)據(jù)。如果unconditional為false的時候,MIDlet可以在接到通知后,拋出MIDletStateChangeException而保持在當(dāng)前狀態(tài)。如果設(shè)置為true。的話,則必須立即進(jìn)入destroyed狀態(tài)。圖25說明了MIDlet狀態(tài)改變情況。圖25MIDlet生命周期MIDlet應(yīng)用程序開發(fā)流程圖2-7所示是標(biāo)準(zhǔn)的Java程序的開發(fā)流程。首先編寫代碼,然后編譯源代碼為class文件。編譯好的class文件還要經(jīng)過預(yù)先審核才能在KVM上運(yùn)行。根據(jù)MIDP規(guī)范,一個程序最終必須經(jīng)過打包合成,才能被JAM順利加載運(yùn)行。所以最后利用JDK內(nèi)附的jar.exe這個包裝工具產(chǎn)生JAR文件。至此一個MIDlet應(yīng)用程序的開發(fā)就完成了。一個完整的MIDlet應(yīng)用程序是由兩個文件組成:應(yīng)用程序主體(JAR文件,ZIP壓縮文件)和應(yīng)用程序描述文件(JAD文件,純文本文件)。JAD文件有兩個作用:一是用戶在下載MIDlet前可以先下載JAD文件,JAD文件一般體積比較小,看過JAD文件后決定是否下載應(yīng)用程序,這樣可以節(jié)省費(fèi)用;二是在JAD文件中可以加入證書(Certificate),以確保通過網(wǎng)絡(luò)傳輸?shù)膽?yīng)用程序在傳輸過程中沒有被篡改。2.3struts開發(fā)struts的定義框架(framework)是可重用的,半成品的應(yīng)用程序,可以用來產(chǎn)生專門的定制程序[Johnson]??蚣芟蜷_發(fā)人員提供一系列具有以下特征的骨架組件:(1)已經(jīng)知道它們在其它程序上工作的很好;(2)它們隨時可以在下一個項目中使用;(3)它們可以被組織的其它團(tuán)隊使用;Struts框架是基于Model2的架構(gòu)。它提供一個控制器servlet來處理導(dǎo)航流和一些特殊類來幫助數(shù)據(jù)訪問。隨框架也提供一個豐富的標(biāo)簽庫,以使Struts易于和JSP一起使用。Struts的概念和體系結(jié)構(gòu)Struts有其自己的控制器(Controller),同時整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括EJB,JDBC和ObjectRelationBridge。在視圖層,Struts能夠與JSP,VelocityTemplates,XSL等等這些表示層組件相結(jié)合。strutsframework是MVC模式的體現(xiàn),下面我們就從分別從模型、視圖、控制器來看看struts的體系結(jié)構(gòu)(Architecture)。下圖顯示了strutsframework的體系結(jié)構(gòu)響應(yīng)客戶請求時候,各個部分工作的原理:圖26struts的體系結(jié)構(gòu)從視圖角度(View)首先,Struts提供了Java類,Java開發(fā)者將該類細(xì)分來創(chuàng)建表單bean。在運(yùn)行時,該bean有兩種用法:(1)當(dāng)JSP準(zhǔn)備相關(guān)的HTML,表單以進(jìn)行顯示時,JSP將訪問該bean(它保存要放入表單中的值)。那些值是從業(yè)務(wù)邏輯或者是從先前的用戶輸入來提供的。(2)當(dāng)從Web瀏覽器中返回用戶輸入時,該bean將驗(yàn)證并保存該輸入以供業(yè)務(wù)邏輯或(如果驗(yàn)證失敗的話)后續(xù)重新顯示使用。其次,Struts提供了許多定制JSP標(biāo)記,它們的使用簡單,但是它們在隱藏信息方面功能強(qiáng)大。例如,除了bean名稱和給定bean中每個段的名稱之外,頁面設(shè)計者不需要知道有關(guān)表單bean的更多信息。從模型角度(Model)Struts雖然不直接有助于模型開發(fā)。在Struts中,系統(tǒng)模型的狀態(tài)主要由ActiomFormBean和值對象體現(xiàn)。從控制器角度(Controller)在Strutsframework中,Controller主要是ActionServlet,但是對于業(yè)務(wù)邏輯的操作則主要由Action、ActionMapping、ActionForward這幾個組件協(xié)調(diào)完成(也許這幾個組件,應(yīng)該劃分到模型中的業(yè)務(wù)邏輯一塊)。其中,Action扮演了真正的控制邏輯的實(shí)現(xiàn)者,而ActionMapping和ActionForward則指定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向。struts配置(1)Struts可以不需要安裝(2)拷貝strutslib下的所有的jar包到WEB-INF/lib下(3)修改文件,配置ActionServlet.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
<!--
0表示用時才加載,一般配置成正數(shù),表示容器一啟動就加載servlet,
-->
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>(4)配置<struts-config>是Struts配置文件的根元素,和它對應(yīng)的配置類為o。它的DTD定義如下:<!ELEMENTstruts-config(data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plugin-in*>。在Struts配置文件中,必須按以上DTD指定struts的基本元素視圖:視圖是由一組jsp文件組成。視圖和控制器與模型之間交互,并為模型提供用戶界面。模型:模型表示應(yīng)有程序的狀態(tài)和業(yè)務(wù)邏輯。業(yè)務(wù)邏輯常由EJB或javaBean組件實(shí)現(xiàn)。在MVC應(yīng)用程序中,模型層通常是最大最重要的部分,它負(fù)責(zé)保存事務(wù)邏輯代碼和數(shù)據(jù)庫訪問代碼;模型是應(yīng)用程序的核心。因此,模型決定了應(yīng)用程序的功能??刂破鳎嚎刂破饔葾ctionServlet類和Action類實(shí)現(xiàn)。業(yè)務(wù)邏輯的操作主要由Action實(shí)現(xiàn)。ActionMapping、ActionForward這幾個組件協(xié)調(diào)完成。Action扮演了真正的控制邏輯的實(shí)現(xiàn)者。ActionServlet繼承自jav類。ActionServlet主要負(fù)責(zé)將的客戶請求信息組裝后,根據(jù)配置文件的指定描述,轉(zhuǎn)發(fā)到適當(dāng)?shù)奶幚砥靼凑誗ervelt的標(biāo)準(zhǔn),所有的Servlet必須在web配置文件()聲明。同樣,ActoinServlet必須在WebApplication配置文件()中描述。struts的國際化STRUTS允許將不同語言的文字寫在多個資源文件中,每個資源對應(yīng)一種語言,而在JSP頁面上則通過STRUTS標(biāo)簽來顯示文字,該標(biāo)簽可以根據(jù)瀏覽器的當(dāng)前語言設(shè)置確定從對應(yīng)的語種資源文件中取出字符串,顯示在頁面上。資源文件的存放目錄可以是/WEB-INF/classes/下的任意目錄,為了便于管理,建議在/WEB-INF/classes/下建立目錄resources,將所有的資源文件都放在該目錄下。STRUTS通過配置文件配置資源文件的所在位置。struts的特點(diǎn)(1)Struts不僅是線程安全(thread-d-dependent)的。(2)Actionformbean最小化子類代碼并縮短子類層次。(3)Struts標(biāo)簽庫提供通用功能。(4)Struts組件對應(yīng)用來說都是可重用的。(5)Struts是輕量型架構(gòu)。(6)Struts是標(biāo)準(zhǔn)兼容的。(7)Struts是開源的,具有良好的文檔。第三章基于RFID的景點(diǎn)導(dǎo)覽系統(tǒng)實(shí)現(xiàn)3.1系統(tǒng)概述本系統(tǒng)采用B/S模式開發(fā),并且詳細(xì)設(shè)計了服務(wù)器端和客戶端的功能模塊,如圖3-1所示:圖3-1系統(tǒng)功能模塊結(jié)構(gòu)從圖中可以看出,系統(tǒng)為三層結(jié)構(gòu):數(shù)據(jù)層、服務(wù)器層、客戶層。服務(wù)器端實(shí)現(xiàn)管理員功能,游客功能;客戶端實(shí)現(xiàn)查詢定位、地圖展示、行程規(guī)劃、旅游黃頁、景點(diǎn)介紹、隨身貼士等功能。使用移動終端的導(dǎo)覽示意圖如圖3-2所示,網(wǎng)絡(luò)拓?fù)淙鐖D3-3所示。eeWLAN媒體庫展品RFIDDBWebBrowser游客介紹/推薦服務(wù)器游客日志3-2使用移動終端的導(dǎo)覽示意圖3-2RFID網(wǎng)絡(luò)結(jié)構(gòu)示意圖3.2客戶端功能模塊實(shí)現(xiàn)系統(tǒng)功能模塊共分為六塊:查詢定位、地圖展示、行程規(guī)劃、旅游黃頁、景點(diǎn)介紹、隨身貼士。3查詢定位功能J2ME查詢定位功能分為三種,定點(diǎn)查詢、模糊查詢和類別查詢。主要是通過客戶端向服務(wù)器發(fā)送查詢請求,通過服務(wù)器處理向客戶端返回相應(yīng)信息的地圖。如圖3-2所示:定點(diǎn)查詢:通過輸入所熟悉的游客的標(biāo)簽Id號,系統(tǒng)連接服務(wù)器,服務(wù)器返回該標(biāo)簽持有者所在的位置,以及該位置的景點(diǎn)詳細(xì)信息。模糊查詢:輸入景點(diǎn)的代號(拼音首字母),系統(tǒng)連接服務(wù)器,服務(wù)器根據(jù)景點(diǎn)代號返回相應(yīng)的景點(diǎn)的位置信息。類別查詢:根據(jù)景點(diǎn)類別,服務(wù)器返回同一類別的景點(diǎn)的詳細(xì)信息。圖3-4查詢定位實(shí)現(xiàn)連接的代碼段:publicclassCommHandler{privateStringURL;publicCommHandler(StringURL){this.URL=URL;}//發(fā)送消息publicStringsendMessage(Stringmessage)throwsIOException{ConnectionConn;DataInputStreaminput;DataOutputStreamoutput;Stringresult;try{Conn=open();output=this.openDataOutputStream(Conn);output.writeUTF(message);output.close();input=this.openDataInputStream(Conn);result=input.readUTF();System.out.println(result);closeConnection(Conn,input,output);returnresult;}finally{}}//打開連接publicConnectionopen()throwsIOException{try{Connectionconnection=(Connection)Connector.open(URL);connection.setRequestProperty("User-Agent",Systems"));connection.setRequestProperty("Content-Type","application/octet-stream");connection.setRequestMethod(Connection.POST);returnconnection;}catch(IOExceptionioe){throwioe;}}//打開數(shù)據(jù)連接privateDataInputStreamopenDataInputStream(Connectionconn)throwsIOException{intcode=conn.getResponseCode();if(code==Connection._OK){returnconn.openDataInputStream();}else{thrownewIOException();}}3地圖展示功能本系統(tǒng)對地圖實(shí)行放大縮小和漫游等操作,并且可以定位到相應(yīng)的景點(diǎn)上。對于圖片的放大縮小,簡單的來說就是圖像的變形變換,就是把源圖像每個點(diǎn)坐標(biāo)通過變形運(yùn)算轉(zhuǎn)為目標(biāo)圖像相應(yīng)點(diǎn)的新坐標(biāo),但是這樣會導(dǎo)致一個問題就是目標(biāo)點(diǎn)的坐標(biāo)通常不會是整數(shù)。所以在做放大變換時,需要計算生成沒有被映射到的點(diǎn);而在縮小變換時,需要刪除一些點(diǎn)。這樣,最簡單的辦法就是插值算法:“最近鄰域法”。顧名思義,就是把非整數(shù)坐標(biāo)作一個四舍五入,取最近的整數(shù)點(diǎn)。而圖片的漫游功能則是根據(jù)按鍵來選擇,設(shè)計一個方法來根據(jù)按鍵的不同設(shè)置x、y坐標(biāo)的變換。如圖3-3所示:(原圖)(縮小50%) (放大50%)圖3-5地圖的放大縮小功能//實(shí)現(xiàn)地圖縮放功能的代碼段:插值算法 privateImageZoomImage(ImagesrcImg,intdesW,intdesH){intsrcW=srcImg.getWidth();//原始圖像寬intsrcH=srcImg.getHeight();//原始圖像高//計算插值表int[]tabY=newint[desH];int[]tabX=newint[desW];intsb=0;intdb=0;inttems=0;inttemd=0;intdistance=srcH>desH?srcH:desH;for(inti=0;i<=distance;i++){/*垂直方向*//r
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村水田合同(2篇)
- 2024年度天津市公共營養(yǎng)師之二級營養(yǎng)師全真模擬考試試卷A卷含答案
- 2024年度天津市公共營養(yǎng)師之三級營養(yǎng)師押題練習(xí)試題B卷含答案
- 2024年度四川省公共營養(yǎng)師之三級營養(yǎng)師通關(guān)題庫(附答案)
- 2024年度四川省公共營養(yǎng)師之二級營養(yǎng)師能力測試試卷A卷附答案
- 中國環(huán)保膠袋行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略研究報告
- 2025標(biāo)準(zhǔn)版煤炭鐵路運(yùn)輸合同范本
- 2020-2025年中國體外診斷試劑行業(yè)市場前景預(yù)測及投資方向研究報告
- 2025年中國手持衛(wèi)星通信終端行業(yè)市場前瞻與投資戰(zhàn)略規(guī)劃分析報告
- 2025年汽車裝箱項目可行性研究報告
- 水利五大員施工員教材講義
- 醫(yī)療機(jī)構(gòu)資產(chǎn)負(fù)債表(通用模板)
- 廢舊鋰離子電池高值資源化回收利用項目環(huán)評報告書
- 審計英語詞匯大全講課教案
- JIS G3507-1-2021 冷鐓用碳素鋼.第1部分:線材
- 初二家長會ppt通用PPT課件
- 小學(xué)生家庭作業(yè)布置存在的誤區(qū)及改進(jìn)策略論文1
- 一元一次含參不等式教學(xué)設(shè)計83
- 生物醫(yī)學(xué)研究的統(tǒng)計學(xué)方法課后習(xí)題答案 2014 主編 方積乾
- 牛仔面料成本核算
- 加拿大礦業(yè)政策
評論
0/150
提交評論