国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

AJAX技術(shù)在Web零件庫(kù)系統(tǒng)中的應(yīng)用研究

2011-01-29 06:25王宏偉孫文磊
制造業(yè)自動(dòng)化 2011年12期
關(guān)鍵詞:服務(wù)端瀏覽器頁(yè)面

王宏偉,孫文磊,何 麗

WANG Hong-wei, SUN Wen-lei, HE Li

(新疆大學(xué) 機(jī)械工程學(xué)院,烏魯木齊 830008)

0 引言

隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)正在成為人們生活中不可缺少的一部分。而在當(dāng)今制造業(yè)信息化進(jìn)程中,圖形庫(kù)系統(tǒng)正在發(fā)揮著越來越重要的作用。因此,借助于Web3D技術(shù)將兩者緊密結(jié)合起來而設(shè)計(jì)的Web零件庫(kù)系統(tǒng)將會(huì)給用戶帶來一種全新的體驗(yàn),用戶能夠?qū)崿F(xiàn)在線瀏覽、搜索、修改零件參數(shù)以及下載UG文件等功能。在整個(gè)系統(tǒng)功能中,在線瀏覽與搜索指定文件功能占有相當(dāng)大的比重,如何快速瀏覽零件以及制定高效率、快速的數(shù)據(jù)檢索方案顯得尤為重要。AJAX技術(shù)是最近幾年最受關(guān)注的一種技術(shù),在使用了該技術(shù)的網(wǎng)頁(yè)中,能夠輕而易舉的實(shí)現(xiàn)頁(yè)面內(nèi)容的局部刷新、智能搜索、異步通信等功能,而且速度相對(duì)較快。此次研究 主要就是通過運(yùn)用AJAX技術(shù)實(shí)現(xiàn)Web零件庫(kù)系統(tǒng)中三維零件圖的無刷新瀏覽以及智能搜索兩項(xiàng)重要功能。

1 核心技術(shù)簡(jiǎn)介

1.1 AJAX技術(shù)簡(jiǎn)介

AJAX全名是Asynchronous JavaScript And XML(異步JavaScript和XML),它是幾種技術(shù)的一個(gè)有機(jī)結(jié)合。完整AJAX程序框架一般包含以下幾部分內(nèi)容:按照W3C DOM規(guī)范操作頁(yè)面元素進(jìn)行動(dòng)態(tài)顯示;使用XMLHttpRequest(以下簡(jiǎn)稱為XHR)組件發(fā)起異步請(qǐng)求與服務(wù)端進(jìn)行通信;采用XML數(shù)據(jù)格式傳輸與交換數(shù)據(jù);最終通過Javascript語(yǔ)言將這些技術(shù)有機(jī)的捆綁在一起,使之能夠協(xié)同工作,形成一整套完整的程序框架。AJAX程序能夠在整個(gè)頁(yè)面加載完成后再與服務(wù)器進(jìn)行異步通信,實(shí)現(xiàn)小范圍內(nèi)數(shù)據(jù)更新,快速獲得服務(wù)端數(shù)據(jù),進(jìn)而響應(yīng)用戶請(qǐng)求,優(yōu)化網(wǎng)頁(yè)數(shù)據(jù)傳輸解決方案。

AJAX程序的核心組件是XHR組件,它承擔(dān)發(fā)送與接收數(shù)據(jù)兩大重要任務(wù)。運(yùn)行AJAX程序的首要任務(wù)即為創(chuàng)建XHR對(duì)象,繼而利用該對(duì)象發(fā)送請(qǐng)求數(shù)據(jù)至服務(wù)端。此時(shí)在XHR對(duì)象的onreadystatechange屬性中所指定的回調(diào)函數(shù)開始工作,周而復(fù)始的檢測(cè)XHR對(duì)象的狀態(tài),直至接收到服務(wù)端返回的數(shù)據(jù)。當(dāng)檢測(cè)到服務(wù)端數(shù)據(jù)已經(jīng)接收完畢,回調(diào)函數(shù)將開始解析服務(wù)端所返回的XML數(shù)據(jù)并更新頁(yè)面指定區(qū)域,隨后回調(diào)函數(shù)將停止工作,至此完成一次與服務(wù)器的通信。AJAX程序模型如圖1所示。

1.2 Web3D技術(shù)

Web3D技術(shù)即為互聯(lián)網(wǎng)上的3D技術(shù),由于3D圖形與動(dòng)畫比其他媒介有更強(qiáng)的說明作用,故在互聯(lián)網(wǎng)占有重要的地位。VRML(虛擬現(xiàn)實(shí)建模語(yǔ)言)是3D圖形和多媒體技術(shù)通用的交換文件格式,它基于建模技術(shù),描述交互式的3D對(duì)象和場(chǎng)景,不僅應(yīng)用在互聯(lián)網(wǎng)上,也可以用在本地客戶系統(tǒng)中,應(yīng)用范圍極廣。

由于網(wǎng)絡(luò)上傳輸?shù)哪P臀募腔贏SCII碼的文本文件,故其傳輸數(shù)據(jù)量大大小于視頻圖像。通過學(xué)習(xí)VRML97標(biāo)準(zhǔn),能夠使任何一個(gè)3D圖形愛好者制作可在互聯(lián)網(wǎng)上實(shí)時(shí)渲染的3D場(chǎng)景模型。普通Web瀏覽器通過安裝顯示VRML文件的插件(如BS Contact VRML)便可直接在Web瀏覽器中瀏覽三維模型,并能對(duì)模型進(jìn)行移動(dòng)、縮放和旋轉(zhuǎn)等操作。同時(shí),考慮到網(wǎng)絡(luò)數(shù)據(jù)傳輸帶寬等問題,VRML模型文件相對(duì)較小,也能加快程序響應(yīng)速度,因此在本W(wǎng)eb零件庫(kù)系統(tǒng)中使用VRML文件作為中間文件。

圖1 AJAX程序模型

2 三維模型無刷新瀏覽與智能搜索功能的實(shí)現(xiàn)

2.1 建立數(shù)據(jù)庫(kù)及中間文件的生成

在UG NX 6.0軟件中,已經(jīng)為我們提供了生成VRML文件的接口,可通過對(duì)UG軟件的二次開發(fā)在后臺(tái)自動(dòng)生成VRML文件,然后按照設(shè)定的命名格式進(jìn)行命名、存儲(chǔ)。本程序中作為中間文件的VRML文件,其文件名與UG文件名始終保持一致。

為了實(shí)現(xiàn)快速搜索以及首頁(yè)面自動(dòng)生成樹形導(dǎo)航菜單,我們需要借助數(shù)據(jù)庫(kù)來存儲(chǔ)文件相關(guān)信息,如文件名(包括UG文件和VRML文件)、路徑、文件編號(hào)等信息。生成中間文件和建立數(shù)據(jù)庫(kù)過程如圖2所示。

圖2 數(shù)據(jù)庫(kù)及中間文件建立

2.2 三維零件動(dòng)態(tài)無刷新瀏覽功能的實(shí)現(xiàn)

Web零件庫(kù)系統(tǒng)的一大重要功能是能夠使用戶在瀏覽器中直接觀察三維零件,并能夠進(jìn)行旋轉(zhuǎn)、縮放操作。本W(wǎng)eb零件庫(kù)系統(tǒng)中為實(shí)現(xiàn)三維模型在頁(yè)面上的顯示功能,需要借助VRML文件瀏覽插件,三維模型動(dòng)態(tài)顯示的具體實(shí)現(xiàn)方法為:頁(yè)面中采用HTML語(yǔ)言中的object控件作為容器控件,并指定其classid屬性為VRML插件在系統(tǒng)中所注冊(cè)的類庫(kù)ID值便可實(shí)現(xiàn)VRML文件動(dòng)態(tài)顯示功能:

Web零件庫(kù)系統(tǒng)無刷新瀏覽功能框圖如圖3所示。

用戶進(jìn)行瀏覽操作時(shí),系統(tǒng)捕捉用戶點(diǎn)擊頁(yè)面左側(cè)導(dǎo)航菜單事件,通過前臺(tái)觸發(fā)函數(shù)獲取用戶所點(diǎn)擊項(xiàng)目的文件編號(hào)值隨即利用該編碼與緩存中的編碼作比對(duì),判斷是否需要發(fā)起新的請(qǐng)求來獲取服務(wù)端的三維模型虛擬現(xiàn)實(shí)文件。若需要更新文件則進(jìn)行初始化工作來創(chuàng)建XHR對(duì)象,接著利用XHR對(duì)象的send方法將該編號(hào)發(fā)送至服務(wù)端處理頁(yè)進(jìn)行處理,并返回所需要的數(shù)據(jù)。與此同時(shí)回調(diào)函數(shù)也開始工作,檢測(cè)XHR對(duì)象是否接收到服務(wù)端發(fā)回的數(shù)據(jù)。當(dāng)檢測(cè)到已經(jīng)收到服務(wù)端返回的數(shù)據(jù)時(shí),便按照W3CDOM編程規(guī)范所提供的方法解析XML格式數(shù)據(jù),從中獲取用戶所點(diǎn)擊的項(xiàng)目對(duì)應(yīng)的VRML文件地址,并更新頁(yè)面中的文件顯示區(qū)域,實(shí)現(xiàn)動(dòng)態(tài)瀏覽功能。

圖3 三維模型無刷新瀏覽框圖

在系統(tǒng)無刷新瀏覽功能的實(shí)現(xiàn)過程中,借助了AJAX程序的異步通信特點(diǎn),對(duì)頁(yè)面進(jìn)行小范圍數(shù)據(jù)提交與更新,加快了三維圖形的瀏覽速度,實(shí)現(xiàn)了無需刷新整個(gè)頁(yè)面就能更新三維模型的功能。在此過程中,XHR對(duì)象起到了至關(guān)重要的作用。因此,在AJAX程序中,能否成功建立XHR對(duì)象也就決定了整個(gè)程序是否能夠成功運(yùn)行。針對(duì)目前各瀏覽器對(duì)ActiveX技術(shù)的支持情況不同,每一種瀏覽器創(chuàng)建XHR對(duì)象的方法也不盡相同,本文以微軟公司的IE瀏覽器為例進(jìn)行說明,創(chuàng)建XHR的方法為:

2.3 三維零件智能搜索功能的實(shí)現(xiàn)

由于Web零件庫(kù)系統(tǒng)中的零件數(shù)量一般會(huì)很大,單一的樹形導(dǎo)航菜單并不能確保用戶能夠快速定位到想要瀏覽的文件。因此,如何根據(jù)文件的部分信息快速定位到該文件也是三維模型瀏覽的重要功能之一。

本系統(tǒng)為了方便用戶進(jìn)行文件檢索,實(shí)現(xiàn)了基于AJAX技術(shù)的智能搜索功能。具體實(shí)現(xiàn)過程如圖4所示:

在文件搜索過程中,可按照文件的編碼和名稱兩種方式進(jìn)行查詢。用戶操作時(shí)可以直接在搜索條件文本框中輸入編號(hào)或名稱,系統(tǒng)將智能判斷所輸入的數(shù)據(jù)具體屬于編號(hào)還是名稱,最終將其發(fā)送至服務(wù)端進(jìn)行模糊查詢,服務(wù)端處理函數(shù)查詢數(shù)據(jù)庫(kù)后返回由數(shù)據(jù)庫(kù)中前十條記錄和總計(jì)條數(shù)所構(gòu)成的XML格式結(jié)果集合。最后由回調(diào)函數(shù)解析服務(wù)端所返回的XML文檔并生成結(jié)構(gòu)化字符串儲(chǔ)存于hide控件中,然后以此字符串動(dòng)態(tài)構(gòu)建DIV控件,顯示模糊查詢的結(jié)果列表以提示用戶進(jìn)行選擇。智能搜索過程中,為了節(jié)省帶寬,每次只返回?cái)?shù)據(jù)庫(kù)中前十條符合要求的數(shù)據(jù)記錄。

圖4 三維圖形智能搜索功能實(shí)現(xiàn)框圖

3 應(yīng)用實(shí)例

系統(tǒng)采用VRML作為中間文件來實(shí)現(xiàn)三維模型與瀏覽器的連接,故用戶通過安裝了VRML瀏覽器插件的普通Web瀏覽器在連接互聯(lián)網(wǎng)的條件下就能瀏覽三維模型,而不需要安裝復(fù)雜的專業(yè)軟件。如圖5所示,用戶登陸系統(tǒng)網(wǎng)站后,可根據(jù)左側(cè)導(dǎo)航菜單對(duì)三維模型進(jìn)行瀏覽和下載。

圖5 三維模型瀏覽

同時(shí),如果用戶想快速根據(jù)文件部分信息快速定位到該文件,也可在搜索文本框中提交搜索條件進(jìn)行文件檢索,通過智能搜索功能瀏覽指定的三維模型。檢索零件過程中用戶可以提交相對(duì)模糊的查詢條件,搜索程序會(huì)根據(jù)該條件進(jìn)行模糊查詢列出相關(guān)結(jié)果,最后通過在提示框中進(jìn)行提示用戶選擇來精確定位文件。當(dāng)程序完成搜索并將提示框顯示于搜索文本框下方時(shí),用戶可以按下鍵盤方向鍵選擇相應(yīng)項(xiàng)目,提示框中將會(huì)以高亮模式顯示選中項(xiàng)目。同時(shí),也可以直接用鼠標(biāo)點(diǎn)擊,最終將會(huì)在顯示區(qū)域動(dòng)態(tài)顯示用戶所選擇的文件。如圖6所示。

圖6 搜索結(jié)果顯示

4 結(jié)束語(yǔ)

通過研究AJAX通信原理以及W3CDOM編程規(guī)范,并以Visual Studio 2008作為開發(fā)工具,實(shí)現(xiàn)了Web零件庫(kù)系統(tǒng)中三維模型在線無刷新瀏覽與智能搜索兩大重要功能。通過網(wǎng)絡(luò),用戶可以使用普通Web瀏覽器在接入互聯(lián)網(wǎng)并安裝一個(gè)很小的VRML瀏覽器插件的條件下就能方便的使用本W(wǎng)eb零件庫(kù)系統(tǒng)。通過Web零件庫(kù)系統(tǒng),用戶能夠在不安裝復(fù)雜的專業(yè)三維軟件的情況下進(jìn)行直觀的觀察零件的三維模型,并且能夠?qū)δP瓦M(jìn)行旋轉(zhuǎn)、縮放等簡(jiǎn)單交互操作。借鑒于三維動(dòng)畫的直觀性,與傳統(tǒng)的二維機(jī)械圖紙相比,本系統(tǒng)能夠給用戶提供更多的方便,減少了二維零件圖紙?jiān)诹魍ㄟ^程中所造成的誤解,在更大程度上方便用戶與零件制造者進(jìn)行溝通。

[1]陳冠軍, 等.ASP.NET AJAX實(shí)用開發(fā)詳解[M].北京∶ 電子工業(yè)出版社, 2008.

[2]霍茲納, 著, 陳秋萍, 譯.Ajax寶典[M].北京∶ 人郵電出版社, 2007.

[3]柯自聰.Ajax開發(fā)精要∶ 概念、案例與框架[M].北京∶ 電子工業(yè)出版社, 2006.

[4]黃曉東.基于Ajax技術(shù)的區(qū)域農(nóng)業(yè)產(chǎn)業(yè)優(yōu)勢(shì)分析與優(yōu)化工具研究[D].中國(guó)農(nóng)業(yè)科學(xué)院, 2008.

[5]唐華, 趙正文, 龍樹全.基于ASP.NET AJAX的搜索動(dòng)態(tài)提示功能的實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用, 2009(9)∶ 159-162.

[6]鐘佩思, 欒倩, 劉梅, 王景林.辛紀(jì)光,面向網(wǎng)絡(luò)化資源共享的零件庫(kù)系統(tǒng)研究與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造, 2010(2)∶ 249-251.

猜你喜歡
服務(wù)端瀏覽器頁(yè)面
刷新生活的頁(yè)面
答案
微軟發(fā)布新Edge瀏覽器預(yù)覽版下載換裝Chrome內(nèi)核
反瀏覽器指紋追蹤
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
Web安全問答(3)
摸清黑客套路防范木馬侵入
瀏覽器