本站小編為你精心準(zhǔn)備了Web分頁技術(shù)實現(xiàn)參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
摘要:分頁是web應(yīng)用中常見的一種技術(shù),它在處理數(shù)據(jù)量較大問題、提高用戶體驗方面提供了很好的解決方案。本文首先分析了傳統(tǒng)分頁方式的優(yōu)缺點,在.NET框架下給出了一種借助Mootools庫的Web分頁的留言板的實現(xiàn)。關(guān)鍵詞:分頁用戶體驗.NET框架Mootools庫1Web分頁原理隨著web前后臺技術(shù)的發(fā)展,越來越多的分頁技術(shù)被采用。特別是近幾年來AFAX技術(shù)的提出,異步存取理論逐漸被開發(fā)人員接受,它給數(shù)據(jù)分頁技術(shù)帶來了新的思路。本文先對常見的web分頁方案的優(yōu)缺點進(jìn)行分析,之后借助于.NET平臺給出一個基于Mootools庫數(shù)據(jù)分頁的例子。分頁的基本問題及解決方案:從請求發(fā)起到返回數(shù)據(jù)的整個過程。在SOL語句處理完畢后.數(shù)據(jù)庫服務(wù)器、Web服務(wù)器和瀏覽器都能進(jìn)行分頁,在何處分頁是一個關(guān)鍵問題。web程序的判斷的最重要標(biāo)準(zhǔn)是速度,數(shù)據(jù)庫服務(wù)器,Web服務(wù)器和客戶端之產(chǎn)是網(wǎng)絡(luò),在網(wǎng)絡(luò)速度一定的情況下,如果網(wǎng)絡(luò)傳遞的數(shù)據(jù)最越少,則客戶端獲得響應(yīng)的速度越快。傳統(tǒng)分頁模式.數(shù)據(jù)庫服務(wù)器和Web應(yīng)用服務(wù)器的處理能力一般比客戶端要強(qiáng),基于此點傳統(tǒng)分頁方式拋棄客戶端分頁的方案,剩下在Web服務(wù)器端分頁和在數(shù)據(jù)庫端分頁兩種方式,如果選擇在Web服務(wù)器端分頁,大部分的將被過濾掉的數(shù)據(jù)還是被傳輸?shù)搅薟eb應(yīng)用服務(wù)器端,加重了web應(yīng)用服務(wù)器與數(shù)據(jù)庫服務(wù)器之間的負(fù)擔(dān)。所以分頁的選擇通常是在數(shù)據(jù)庫執(zhí)行查詢選出合適的數(shù)據(jù)(通常是借助于存儲過程),然后進(jìn)行其他操作。每次頁面娃示時只在Web服務(wù)器中加載指定頁數(shù)據(jù),占用資源較少,此方案可應(yīng)用于數(shù)據(jù)量較大的場合。但由于數(shù)據(jù)庫和Web服務(wù)器問的通訊及貞面刷新延遲等原因,用戶在不同頁面間切換時有刷新延遲現(xiàn)象,特別是當(dāng)數(shù)據(jù)量報入或頁面變復(fù)雜時尤為明顯。2改進(jìn)的分頁原理本文提出的利用AJAx技術(shù)實現(xiàn)分頁與前文提出分頁方案并不矛盾而是一種增強(qiáng),特別之處是我們并不拋棄客戶端的分頁方案,先利用存儲過程取出指定頁的數(shù)據(jù)到Web服務(wù)器,然后將其數(shù)據(jù)序列化為JsoN格式并發(fā)送到客戶端,客戶端腳本程序?qū)?shù)據(jù)顯示在客戶機(jī)頁面上。這種方案客戶機(jī)和web服務(wù)器間由于不存在相同html代碼的重復(fù)獲取,通訊量很少,客戶端實行的局部刷新,所以延遲非常小,成為相對理想的Web分頁方式。采用這種方式雖然AJAx實現(xiàn)較傳統(tǒng)方案復(fù)雜,但能做到數(shù)據(jù)庫服務(wù)器、Web服務(wù)器以及客戶端網(wǎng)絡(luò)寬帶占用量最少。雖然占用了一些瀏覽器資源,但客戶端計算機(jī)資源相對閑置資源較多,利用起來可以更好的服務(wù)于用戶,盡量減少用戶的操作延遲時間。3本文用到的相關(guān)技術(shù)Mootools:MooTools是一個簡潔、模塊化、面向?qū)ο蟮拈_源JnvaScriptweb應(yīng)用框架。它為web開發(fā)者提供了一個跨瀏覽器js解決方案。在處理jscsshtml時候。它提供了一個比普通js更面向?qū)ο蟮膁ocumentAPI。它有以下優(yōu)點:1、靈活,模塊化的框架,用戶可以選擇自己需要的組件。2、MooTools符合00的思想,使代碼更強(qiáng)壯,有力,有效。3、高效的組件機(jī)制,可以和flash進(jìn)行完美的交互。(Core、C1ass、Natives、Element、Fx、Requests、Window)4、對于DOM的擴(kuò)展增強(qiáng),使開發(fā)者更好的利用document。基于上述優(yōu)點,用Mootools框架能大大減少AJAX思想實現(xiàn)的復(fù)雜度。JSON數(shù)據(jù)格式:JSoN(JavaScript0bjectNotation)是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時也易于機(jī)器解析和生成。Js0N采用完全獨立于語言的文本格式.但是也使用了類似于c語言家族的習(xí)慣。這些特性使Js0N成為理想的數(shù)據(jù)交換語言。它能最大限度地減少AJAx通訊的數(shù)據(jù)量,有利于提高響應(yīng)速度,所以當(dāng)前Js0N格式在AJAx數(shù)據(jù)傳輸中被大量的運用。4、具體實現(xiàn)本文使用.NET3.5Framework、c#、SQLServer2005、Mootools1.2.02:具實現(xiàn)一個分頁留言板(留言部分略)。分三步實現(xiàn):Web服務(wù)器讀取數(shù)據(jù)庫生成JsON格式數(shù)據(jù);Web服務(wù)器處理客戶端請求并輸出JSON數(shù)據(jù)到客戶端;AJAX客戶端的實現(xiàn)。其中第三步為本文的重點。Web服務(wù)器讀取數(shù)據(jù)庫生成JsON數(shù)據(jù)格式首先利用getPageDate調(diào)用存儲過程提取數(shù)據(jù)庫中本頁需要的信息.之后借助于JsonObject、JsonArray對象實現(xiàn)由DataSet到JSON數(shù)據(jù)的轉(zhuǎn)化。基于篇幅,文中忽略了讀取數(shù)據(jù)庫的代碼。Web服務(wù)器處理客戶端請求并輸出JSON數(shù)據(jù)到客戶端當(dāng)瀏覽器通過js代碼請求需要的頁面信息時.后臺通過調(diào)用ProcessRequest方法,把前一步生成的JSON數(shù)據(jù)發(fā)送到客戶端.為AJAx客戶端程序提供數(shù)據(jù)。5結(jié)束語本文簡要說明了傳統(tǒng)分頁技術(shù)及其優(yōu)缺點,重點給出了組合.net3.5、Js0N、MootOOlS、SQL2005等技術(shù)的一套較先進(jìn)的Web數(shù)據(jù)分頁方案,為解決大數(shù)據(jù)量分頁提供了一種很好的思路。特別是在傳統(tǒng)存儲過程優(yōu)化的基礎(chǔ)上,利用Mootools庫實現(xiàn)了AJAx異步頁面顯示的改進(jìn),在減少了代碼的書寫難度,回避了瀏覽器兼容性等惱人問題的同時,進(jìn)一步提高了分頁的響應(yīng)速度。