亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Ajax技術(shù)的基礎(chǔ)地理信息分發(fā)服務(wù)方法的實(shí)現(xiàn)

        2014-01-01 00:00:00支元

        摘 要:Ajax是網(wǎng)絡(luò)應(yīng)用客戶端構(gòu)建技術(shù),采用Ajax技術(shù)可以構(gòu)建更為動(dòng)態(tài)和響應(yīng)更為靈敏的WEBGIS應(yīng)用程序。本文介紹了Ajax的主要技術(shù),并以國(guó)家基礎(chǔ)地理信息中心的“基于網(wǎng)絡(luò)的基礎(chǔ)地理信息分發(fā)服務(wù)系統(tǒng)”為例,采用MVC模式,實(shí)現(xiàn)了基礎(chǔ)地理信息在Web瀏覽器中的動(dòng)態(tài)發(fā)布。

        關(guān)鍵詞:Ajax;MVC模式;WEBGIS;用戶體驗(yàn)

        中圖分類號(hào):TP311.10

        1 Ajax技術(shù)

        1.1 Ajax的概念

        Ajax是Asynchronous JavaScript and XML(以及DHTML等)的縮寫,它不是一種單獨(dú)的技術(shù),而是由幾種蓬勃發(fā)展的技術(shù)以新的強(qiáng)大的方式組合而成,具體包括:基于XHTML和CSS標(biāo)準(zhǔn)的表示;使用Document Object Model(DOM)進(jìn)行動(dòng)態(tài)顯示和交互;使用XMLHttpRequest與服務(wù)器進(jìn)行動(dòng)態(tài)顯示和交互;使用XSLT和XML進(jìn)行數(shù)據(jù)交換和處理;使用JavaScript綁定和處理所有數(shù)據(jù)。

        工作原理相當(dāng)于在用戶和服務(wù)器之間加了一個(gè)中間層,使用戶操作與服務(wù)器響應(yīng)異步化。并不是所有的用戶請(qǐng)求都提交給服務(wù)器,像一些數(shù)據(jù)驗(yàn)證和數(shù)據(jù)處理等都交給Ajax引擎處理,只有確定需要從服務(wù)器讀取新數(shù)據(jù)時(shí)候再由Ajax引擎向服務(wù)器提交請(qǐng)求。這樣就把一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的處理能力,減輕服務(wù)器和帶寬的負(fù)擔(dān)。

        2 總體結(jié)構(gòu)設(shè)計(jì)

        基于Ajax技術(shù)的B/S結(jié)構(gòu),采用了MVC模式(Model—View—Controller模型—視圖—控制器)。Model表示應(yīng)用的業(yè)務(wù)邏輯,View是應(yīng)用表示頁面,Controller是提供應(yīng)用的處理過程控制。通過MVC模式把應(yīng)用邏輯、處理過程和顯示邏輯劃分成不同的組件、模塊實(shí)現(xiàn),組件間可以進(jìn)行交互和重用。在本系統(tǒng)MVC框架中(如圖1),模型(Model)主要采用JavaBean組件,分為Action Beans和Data Beans兩部分,分別負(fù)責(zé)業(yè)務(wù)處理和數(shù)據(jù)處理;控制器(Controller)用Servlet實(shí)現(xiàn),處理Ajax引擎發(fā)出的XMLHttpRequest請(qǐng)求;視圖(View)部分用XML+XSL來實(shí)現(xiàn)數(shù)據(jù)的發(fā)布,采用XML+XSL技術(shù),可以和其它異質(zhì)系統(tǒng)進(jìn)行數(shù)據(jù)交互,可以大大擴(kuò)展系統(tǒng)的應(yīng)用空間。

        圖1 系統(tǒng)MVC擴(kuò)展應(yīng)用框架

        2.1 Model(模型)層的實(shí)現(xiàn)。Model層是數(shù)據(jù)的存儲(chǔ)和表示。主要完成與數(shù)據(jù)庫的交互、管理數(shù)據(jù)。如圖1,DataBean是對(duì)數(shù)據(jù)的一種封裝,是一種面向數(shù)據(jù)庫的JavaBean。它是對(duì)數(shù)據(jù)結(jié)構(gòu)的一種映射,主要負(fù)責(zé)根據(jù)用戶的請(qǐng)求對(duì)數(shù)據(jù)庫進(jìn)行插入、刪除、修改等操作。DataBean中封裝了三個(gè)方法marshal()、unmarshal()和validate()。Validate()方法提供了對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)的功能,這樣不僅提供了在客戶端的校驗(yàn)的功能,還能在服務(wù)器進(jìn)行數(shù)據(jù)的校驗(yàn)。Marshal()和unmarshal()兩個(gè)方法分別可以把DataBean序列化和反序列化為xml文件,生成的xml作為客戶端瀏覽器xmlhttp傳輸?shù)臄?shù)據(jù)格式,通過XSL轉(zhuǎn)換器就可以輸出HTML顯示了。

        2.2 View應(yīng)用表示層的實(shí)現(xiàn)。采用Ajax改進(jìn)分類樹實(shí)現(xiàn)機(jī)制。在初始化頁面時(shí),只獲取第一級(jí)子分類的數(shù)據(jù)并且顯示;當(dāng)用戶點(diǎn)開一級(jí)分類的某一節(jié)點(diǎn)時(shí),頁面通過Ajax向服務(wù)器請(qǐng)求當(dāng)前分類所屬的二級(jí)子分類所有數(shù)據(jù);如果再繼續(xù)請(qǐng)求已經(jīng)呈現(xiàn)的二級(jí)分類的某一節(jié)點(diǎn)時(shí),再次向服務(wù)器請(qǐng)求當(dāng)前分類所屬的三級(jí)子分類的所有數(shù)據(jù),以此類推。采用此種策略,減少了數(shù)據(jù)冗余和數(shù)據(jù)下載總量。同時(shí)更新頁面時(shí)不需要重載所有內(nèi)容,只更新需要更新的那部分內(nèi)容能即可。具體實(shí)現(xiàn)方法如下:

        服務(wù)器端:添加AjaxPro.dll的引用,然后修改Web.Config配置文件,并在后臺(tái)代碼Page_load函數(shù)中增加如下代碼:Utility.RegisterTypeForAjax(typeof(tree));添加服務(wù)器端Ajax方法:getCategoryControl()、getCategoryLink()、getCategoryTable()、getSubCateGory(int iCategoryID)。以上幾個(gè)方法主要返回DataSet中包含自分類的ID號(hào)。

        2.3 Controller(控制器)的實(shí)現(xiàn)。在“基于網(wǎng)絡(luò)的基礎(chǔ)地理信息分發(fā)服務(wù)系統(tǒng)”中,為了能夠控制和協(xié)調(diào)每個(gè)用戶跨越多個(gè)請(qǐng)求的處理,控制器機(jī)制應(yīng)該以集中的方式進(jìn)行管理。為此,我們?cè)赪eb容器中設(shè)置一個(gè)專用的Servlet來處理Ajax引擎發(fā)出的請(qǐng)求,并將這Servlet定義為XMLAssembly-Servlet。我們用控制器提供一個(gè)控制和處理請(qǐng)求的集中入口點(diǎn),它負(fù)責(zé)接收、截取并處理用戶請(qǐng)求;并將請(qǐng)求委托給分發(fā)者類HttpReqDispatcher.cs,根據(jù)當(dāng)前狀態(tài)和業(yè)務(wù)操作的結(jié)果決定向用戶呈現(xiàn)相應(yīng)的視圖。我們共定義了三個(gè)類HttpReqDispatcher.cs(分發(fā)者類)、HttpCapture.cs(請(qǐng)求捕獲者類)、Controller.cs(控制器類),由這三個(gè)類配合XMLAssembly-Servlet來完成控制器功能。

        客戶端實(shí)現(xiàn):在Ajax引擎發(fā)出XMLHttpRequest請(qǐng)求的時(shí)候,不再指向某個(gè)靜態(tài)地址,而是將其請(qǐng)求的URL地址指向服務(wù)器端聲明的映射到XMLAssembly-Servlet的地址,并且Ajax引擎在瀏覽器端向服務(wù)器端的Servlet發(fā)出請(qǐng)求時(shí)可以攜帶多個(gè)參數(shù)來限定所需要的數(shù)據(jù)和操作。

        服務(wù)器端實(shí)現(xiàn):在web.xml文件中聲明XMLAssemblyServlet和它的URL映射。在XMLAssemblyServlet的doGet或doPost方法的實(shí)現(xiàn)中設(shè)置響應(yīng)ContentType為“text/xml”,在完成一系列的存取和業(yè)務(wù)邏輯后,將所有的有效數(shù)據(jù)包裝在正確的XML格式當(dāng)中,最后通過響應(yīng)發(fā)回到客戶端。

        3 應(yīng)用

        根據(jù)以上設(shè)計(jì),數(shù)據(jù)庫服務(wù)器則采用UNIX系統(tǒng),同時(shí)使用多臺(tái)分布式服務(wù)器,以減輕單個(gè)服務(wù)器負(fù)擔(dān),系統(tǒng)用戶界面如圖2:

        圖2 系統(tǒng)用戶界面

        目前系統(tǒng)已實(shí)現(xiàn)屬性查圖、圖查屬性的雙向查詢功能,支持鼠標(biāo)框選查詢。由于采用了Ajax技術(shù),系統(tǒng)的響應(yīng)速度和功能得到了較大的改善。

        4 結(jié)束語

        本文通過對(duì)Ajax技術(shù)進(jìn)行研究和分析,并通過MVC模式成功開發(fā)和部署了國(guó)家基礎(chǔ)地理信息中心的“基于網(wǎng)絡(luò)的基礎(chǔ)地理信息分發(fā)服務(wù)系統(tǒng)”,該系統(tǒng)不受瀏覽器限制,訪問速度和查詢速度快捷,同時(shí)縮小了客戶端和服務(wù)器端的差距。目前該系統(tǒng)正在最后測(cè)試階段。下一步需要做的工作就是遵循ISO19115元數(shù)據(jù)標(biāo)準(zhǔn),通過XML實(shí)現(xiàn)元數(shù)據(jù)的共享和交換。

        基于Ajax技術(shù)的WEBGIS系統(tǒng)作為新興的WEBGIS技術(shù),利用Ajax獨(dú)特的異步請(qǐng)求機(jī)制,使基于Ajax技術(shù)的WEBGIS不再像傳統(tǒng)的WEBGIS一樣請(qǐng)求同步響應(yīng),而是有針對(duì)性的異步響應(yīng),讓用戶在使用過程中有如同使用桌面系統(tǒng)的體驗(yàn)。Ajax帶給我們的不僅僅是技術(shù),更多的是以人為本的一種服務(wù)理念。不僅緩和了資源矛盾,也帶來了豐富的用戶體驗(yàn)。

        參考文獻(xiàn):

        [1]Ajax技術(shù)主頁[EB/OL].http://www.adaptivepath.com.

        [2]XSLT技術(shù)主頁[EB/OL].http://www.xslt.com.

        [3]許曉梅.Natanya a pitts et al.XML技術(shù)內(nèi)幕[M].北京:機(jī)械工業(yè)出版社,2002.

        作者簡(jiǎn)介:支元(1982.12-),男,陜西咸陽人,講師,主要從事計(jì)算機(jī)軟件研究。

        作者單位:常州劉國(guó)鈞高等職業(yè)技術(shù)學(xué)校,江蘇常州 213025

        国产一级黄色片在线播放| 久久国产精彩视频| 69国产成人综合久久精| 亚洲乱码中文字幕第一页| 久久熟妇少妇亚洲精品| 久久久无码人妻精品无码| 色吧综合网| 国产天堂av手机在线| 亚洲av成熟国产一区二区 | 国产av一区二区三区天美| 电影内射视频免费观看| 纯爱无遮挡h肉动漫在线播放| 久久精品国产亚洲5555| 亚洲一区亚洲二区中文字幕| 国精产品一区一区二区三区mba| 久久精品99久久香蕉国产色戒| 国产亚洲美女精品久久| 中文字幕东京热一区二区人妻少妇| 午夜dy888国产精品影院| 成人亚洲性情网站www在线观看| 亚洲国产AⅤ精品一区二区不卡| 一区视频免费观看播放| 色视频综合无码一区二区三区| 极品熟妇大蝴蝶20p| 精选二区在线观看视频| 亚洲人不卡另类日韩精品| 中文成人无码精品久久久不卡| 亚洲欧洲久久久精品| 亚洲成在人线天堂网站| 欧美日韩一区二区三区在线观看视频| 欧美性群另类交| 在线视频一区二区观看| 日韩亚洲精品中文字幕在线观看 | 成人午夜特黄aaaaa片男男| 一本大道香蕉最新在线视频| 精品国精品自拍自在线| 亚洲av综合av一区二区三区| 久久婷婷香蕉热狠狠综合| 亚洲va中文字幕欧美不卡| 久久一道精品一区三区| 国产国拍精品av在线观看按摩 |