異步請求技術Ajax與JSON學習經驗之談?

Tags: 技術, 服務器,

Ajax是一種異步請求技術,即在不刷新整個網頁的情況下,實現瀏覽器與服務器的交互。在很多場合下,每一次請求都刷新整個頁面時不合理的,這會嚴重影響用戶體驗,增加等待時間,也增加了服務器的壓力。為了解決頁面部分刷新的需求,Ajax技術應運而生。經過多年發展,java EE中Ajax最流行的實現方式是:jQuery和struts2,並結合JSON一起實現Ajax。

工具/原料

Eclipse

方法/步驟

首先,先來看看Ajax異步請求基本過程:在瀏覽器端使用jQuery通過XMLHttpRequest發送請求,服務器接收請求後,使用Action處理請求,然後以JSON的數據格式發回處理結果,最後jQuery接收處理結果,並根據結果更新局部網頁。

異步請求技術Ajax與JSON學習經驗之談

其次,從上述過程中可以把Ajax實現分為三個部分。

1、JSON,封裝數據。

2、在服務器端實現Action類,並在struts.xml中配置 ,使服務器能接收並處理Ajax請求。

3、在瀏覽器端使用jQuery發送Ajax請求,並接收處理結果,更新網頁。

異步請求技術Ajax與JSON學習經驗之談

然後,分別介紹著三個部分的作用已完成,異步請求技術。

1、JSON是瀏覽器和服務器之間交換數據的一種輕量級對象。其語法結構為:

JSON對象的語法:

{key:value,key:value,.....}

JSON數組的語法:

[value,value,....]

異步請求技術Ajax與JSON學習經驗之談

2、jQuery中最常用的發送Ajax請求的方法是$.ajax。下圖為一個示例。url為請求的地址,在structs 2中就是請求的 的name,type為提交方式,默認是“get”,data是要提交到服務器的數據,一般用JSON類型。dataType是接收的結果類型,一般為JSON類型,success為請求成功後要執行的操作;error則是請求失敗後執行的操作。

異步請求技術Ajax與JSON學習經驗之談

3、編寫action類,下圖給出了一個代碼實例。

異步請求技術Ajax與JSON學習經驗之談

4、需要注意的是,為了支持JSON,需要在項目添加以下兩個jar包:

json-lib-2.3-jdk15.jar和struts2-json-plugin-2.3.4.1.jar。

接下來需要配置 。如下圖所示。

異步請求技術Ajax與JSON學習經驗之談

5、上述配置項需要注意這些地方:package需要繼承json-default包;其次, 的type需要設置為json,表示以JSON對象的方式返回數據。參數includeProperties用來設置需要返回的成員變量。

相關問題答案