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

?

AJAX技術(shù)在WEB答題系統(tǒng)中的應(yīng)用與實現(xiàn)

2011-11-09 06:37:06侯錫銘王曉磊
關(guān)鍵詞:服務(wù)器端瀏覽器頁面

侯錫銘,楊 揚,王曉磊

(1.河北工程技術(shù)高等??茖W(xué)校,河北 滄州 061001;2.滄州醫(yī)學(xué)高等專科學(xué)校,河北 滄州 61001;3.燕山大學(xué)里仁學(xué)院,河北 秦皇島 066004)

AJAX(Asynchronous JavaScript and XML)是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的WEB開發(fā)技術(shù),自2005年提出以來,目前已經(jīng)成為WEB2.0核心技術(shù)之一。目前WEB應(yīng)用的發(fā)展方向已經(jīng)從功能性轉(zhuǎn)向良好的界面操控性,要求能為用戶提供更好的交互體驗。AJAX技術(shù)的誕生恰好解決了這一問題。它利用已有的技術(shù)創(chuàng)造了嶄新的使用方式,有效的改善了傳統(tǒng)WEB應(yīng)用的操控性和用戶的交互體驗,獲得了社會的廣泛認(rèn)可。著名的 Google Maps(谷歌地圖),就是基于AJAX技術(shù)開發(fā)。

1 AJAX工作原理

傳統(tǒng)的WEB應(yīng)用是由許多連續(xù)的WEB頁面構(gòu)成,整個WEB程序根據(jù)功能要求被劃分成大量的WEB頁面,瀏覽器采用同步的方式進(jìn)行數(shù)據(jù)交互,用戶進(jìn)行的大部分的交互操作都需要切換并且刷新整個頁面,在下一個頁面完全顯示出來之前,用戶只能等待。

對于AJAX來說,它并不是從同步角度看待 WEB應(yīng)用。而是采用異步的方式(無需打斷用戶的操作,只在后臺進(jìn)行)與服務(wù)器通信,從服務(wù)器獲取需要的數(shù)據(jù)后,只更新頁面中需要改變的區(qū)域內(nèi)容。AJAX應(yīng)用與傳統(tǒng)的WEB應(yīng)用的區(qū)別如下:

1)不刷新整個頁面,在頁面內(nèi)與服務(wù)器通信。

2)使用異步方式與服務(wù)器通信,不需要打斷用戶的操作,具有更加迅速的響應(yīng)能力。

3)程序僅由少量頁面組成。大部分交互在頁面之內(nèi)完成,不需要切換整個頁面。

AJAX與傳統(tǒng)WEB應(yīng)用運行機(jī)制對比如圖1如示。

具體執(zhí)行過程為,當(dāng)確定需要從服務(wù)器讀取新數(shù)據(jù)時首先通過 JavaScript和DOM操作頁面的 HTM L元素,取出指定區(qū)域信息字段構(gòu)造為 XML格式,然后調(diào)用XmlHttpRequest組件進(jìn)行后臺發(fā)送;當(dāng)從服務(wù)器返回的數(shù)據(jù)時,同樣使用XmlHttpRequest進(jìn)行信息獲取,解析XML文件后取出需要的內(nèi)容,通過 JavaScript和DOM將信息顯示在頁面的指定區(qū)域內(nèi),如有要求,還需要使用CSS進(jìn)行樣式設(shè)置,如字體等。除了操作的WEB區(qū)域外,其余內(nèi)容保持不變并可以同時進(jìn)行其他操作,比如在等待返回結(jié)果的同時在另一區(qū)域輸入信息。

圖1 AJAX與傳統(tǒng) WEB應(yīng)用運行機(jī)制

2 AJAX技術(shù)應(yīng)用

2.1 功能需求

傳統(tǒng)WEB答題系統(tǒng)操作較為繁瑣、頁面效果生硬。例如答完單獨某一道題后,如果想查看結(jié)果,只有等待頁面的全部刷新后方可顯示答案。為了不影響其余題目答題,通常采用單獨創(chuàng)建頁面的方式。在其中顯示答案信息。同時由于每次提交的都是全部頁面內(nèi)容,其中也包括很多HTM L代碼,圖片等。造成了帶寬和服務(wù)器資源的浪費。考慮到如果出現(xiàn)題量大,考生多的情況,則服務(wù)器的大部分資源都在處理無效消息,容易出現(xiàn)訪問時間超時,影響答題過程。

采用 AJAX技術(shù)實現(xiàn)該系統(tǒng),可有效解決上述問題。AJAX技術(shù)主要用來實現(xiàn)前端WEB頁面的功能操作。在答題過程中,無需新建窗口或下載全部答案,當(dāng)考生在當(dāng)前頁面答題后,如果想查看結(jié)果,可以隨時點擊查看,無需等待;WEB頁面無需全部刷新。如果題量較大,可以在當(dāng)前頁面進(jìn)行題目的分段顯示。同時可以修改答題視覺效果,比如在選擇答案正確后,改變題目背景或顏色,幫助考生理解。對于服務(wù)器來說,由于提交的信息量很小,反應(yīng)更加迅速。而目前廣泛使用的瀏覽器如IE,FIREFOX等都內(nèi)置支持 AJAX技術(shù),因此在 B/S模式的在線答題系統(tǒng)應(yīng)用 AJAX技術(shù)具有一定的必要性和可行性。

2.2 應(yīng)用實現(xiàn)

2.2.1 開發(fā)環(huán)境說明

開發(fā)工具 netbeans6.1、JDK1.6、開發(fā)平臺WINDOWS XP、數(shù)據(jù)庫:mysql5.0、MySql管理工具 SQLYog Enterprise v6.14、服務(wù)器 Tomcat6.0、WEB瀏覽器:IE8.0。 瀏覽器端采用 JavaScript語言實現(xiàn),服務(wù)器端使用 JAV A語言編程處理。

2.2.2 配置方法概述

首先需要安裝 JDK以及Netbeans,在Netbeans安裝包中已經(jīng)集成了 Glassfish和tomcat兩款服務(wù)器作為開發(fā)調(diào)試使用,安裝時只需要選擇運行時服務(wù)器為tomcat即可,無需再進(jìn)行服務(wù)器配置。同時本系統(tǒng)統(tǒng)一采用GBK字符編碼,在安裝Mysql軟件時需要修改缺省字符編碼,選擇 GBK格式。由于MySql缺省是采用字符輸入界面,為便于數(shù)據(jù)操作,需要另安裝第三方界面管理工具 SQLYog,能夠幫助更直觀的操作數(shù)據(jù)庫。部分?jǐn)?shù)據(jù)庫字典如表1所示。

表1 數(shù)據(jù)庫字典(部分)

2.2.3 瀏覽器端業(yè)務(wù)功能實現(xiàn)

瀏覽器端通過編寫 JavaScript腳本主要實現(xiàn)以下功能。

1)及時獲取考生選擇的結(jié)果,進(jìn)行XM L封裝后發(fā)送到服務(wù)器。

2)收到服務(wù)器返回結(jié)果后進(jìn)行XML解析,將結(jié)果顯示在相應(yīng)的W EB區(qū)域內(nèi)。

3)使用 DOM操作 HTML元素,封裝答題結(jié)果或答案,控制頁面信息的顯示方式。

4)驗證輸入有效性。

2.2.4 瀏覽器端實現(xiàn)接口軟件

使用SendRequest構(gòu)建 AJAX的前段實現(xiàn)框架。通過頁面中的事件響應(yīng)被調(diào)用,比如提交按鈕的點擊。調(diào)用XMLHttpRequest對象,構(gòu)造提交數(shù)據(jù)的XML文件。使用CreateXMLHttpRequest創(chuàng)建XMLHttpRequest對象,由于不同的瀏覽器(如 IE和Mozilla)的 API實現(xiàn)不同,需要對當(dāng)前所使用的的瀏覽器類型進(jìn)行判斷方可創(chuàng)建。

使用XMLHttpRequest來設(shè)置數(shù)據(jù)提交的方式和地址,設(shè)置返回結(jié)果后的響應(yīng)函數(shù),設(shè)置HT TP報文頭數(shù)據(jù),發(fā)送數(shù)據(jù)。 ProcessResponse對服務(wù)器返回消息的進(jìn)行判斷并調(diào)用相關(guān)的處理函數(shù);用 GetTheAns獲得用戶的選擇答案。使用Display解析XM L文件,獲得服務(wù)器返回的處理結(jié)果。同時使用DOM方式將結(jié)果顯示在WEB頁面中。

部分關(guān)鍵代碼如下:

2.2.5 服務(wù)器端實現(xiàn)

服務(wù)器端采用MVC設(shè)計理念,實現(xiàn)系統(tǒng)的后臺邏輯處理、業(yè)務(wù)處理功能以及流程控制功能。主要的java包文件說明如下:

stu.database負(fù)責(zé)對數(shù)據(jù)庫的進(jìn)行讀取或修改操作;stu.persistence根據(jù)實際的對象屬性,建立相應(yīng)類模型;stu.tk實現(xiàn)答題系統(tǒng)的業(yè)務(wù)處理,如單選題,多選題,簡答題,等等。

業(yè)務(wù)處理主要功能如下:

1)對提交的XML文件進(jìn)行解析獲取用戶提交的有效數(shù)據(jù);

2)對不同的題型進(jìn)行相應(yīng)的判斷處理;

3)將處理結(jié)果構(gòu)造為XML文件返回至瀏覽器端。

2.2.6 服務(wù)器端實現(xiàn)接口軟件

ListType列出指定類型題目的總記錄;GetRightAns得到指定題目的正確答案。

部分關(guān)鍵代碼如下:

3 測試案例

圖2所示為物理診斷在線答題系統(tǒng)試題模擬練習(xí)頁面。在進(jìn)行單選題練習(xí)時學(xué)生提交所選結(jié)果后系統(tǒng)會給出選擇正確與否以及相應(yīng)表情,對于不確定答案的問題可以直接點擊“查看正確答案按鈕”獲得正確答案。所有的操作均在當(dāng)前頁面進(jìn)行,無需刷新和切換。與以往數(shù)據(jù)交互需重復(fù)刷新頁面相比操作更加方便快捷,更接近實際答題效果。目前,該系統(tǒng)應(yīng)用于滄州醫(yī)學(xué)高等??茖W(xué)校臨床診斷教研室,為物理診斷課程提供日常的教學(xué)考試應(yīng)用,系統(tǒng)性能穩(wěn)定。

圖2 物理診斷在線答題系統(tǒng)模擬練習(xí)

4 結(jié)束語

通過在 B/S答題系統(tǒng)中應(yīng)用 AJAX技術(shù),用戶操作起來更加方便,同時在一定程度上減輕了系統(tǒng)負(fù)擔(dān),節(jié)約了系統(tǒng)資源。隨著信息技術(shù)的發(fā)展,WEB開發(fā)已經(jīng)不能僅僅局限于單純業(yè)務(wù)功能的實現(xiàn)。目前WEB前段技術(shù)的發(fā)展方向是改善用戶的體驗感,而且 AJAX技術(shù)已經(jīng)進(jìn)入相對成熟的階段,出現(xiàn)了一大批基于該技術(shù)實現(xiàn)的框架。隨著 AJAX技術(shù)的不斷深入發(fā)展,會給使用者創(chuàng)造更加豐富的WEB應(yīng)用。

[1]克拉恩,帕斯卡雷洛,杰姆斯.AJAX實戰(zhàn) [M].ajaxcm.org,譯.北京:人民出版社,2006.

[2][美 ]Shelley Powers.Adding AJAX[M].李秀忠,譯.北京:電子工業(yè)出版社,2008.

[3][美 ]馬勞克林.深入淺出 AJAX[M].OReiuy Taiwan公司,編譯.南京:東南大學(xué)出版社,2008.

猜你喜歡
服務(wù)器端瀏覽器頁面
刷新生活的頁面
反瀏覽器指紋追蹤
電子制作(2019年10期)2019-06-17 11:45:14
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
環(huán)球瀏覽器
再見,那些年我們嘲笑過的IE瀏覽器
在Windows中安裝OpenVPN
網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導(dǎo)航技術(shù)
瀏覽器
西宁市| 阿合奇县| 新营市| 光泽县| 宾阳县| 普兰县| 德化县| 霞浦县| 祁连县| 昌乐县| 东乌珠穆沁旗| 乐东| 望谟县| 霍城县| 手机| 呼伦贝尔市| 边坝县| 西安市| 黔南| 黔西| 镇沅| 泸西县| 友谊县| 西乌珠穆沁旗| 梅河口市| 金坛市| 抚顺县| 朝阳区| 积石山| 英德市| 凤城市| 固原市| 益阳市| 土默特左旗| 舟曲县| 泌阳县| 和顺县| 漳平市| 新泰市| 东源县| 德格县|