服務端向客戶端推送消息-Dwr實現

一、服務端推送技術

網頁郵箱新郵件提醒、網頁聊天、微信簽到牆這些應用場景應該都有遇到過,那麼這種功能又是怎麼實現的呢?最開始可能會想到Ajax,它能夠異步無刷新從服務器端加載最新的數據展示,但它無法滿足傳統桌面系統的服務器端需要向客戶端主動發送消息的需求,並且加載的時間間隔是個老大難的問題,於是現在我們需要理解另一種服務器推送技術。

在Web的訪問機制中,大多都是push數據的,它只允許Browser端主動發起請求向Server端請求數據。客戶端得到通知的方式:定時刷新、Ajax輪詢、comet長連接等。

還有一種則是Dwr,那麼什麼是Dwr?Dwr是基於Ajax的框架,可以動態地把Java類生成爲JavaScript,讓客戶端JavaScript通過Dwr訪問Java程序。

其運行原理:首先在服務器有個dwr.xml,在啓動的時候會讀取dwr.xml同時通過裏面的配置生成JS(把Java類生成相應的JS),客戶端通過JS來觸發JS中的方法,觸發後通過這個方法來調用服務器的某個類的方法也就是說web容器接收請求創建實例處理,調用方法獲得數據後返回。

在Dwr中有個很重要的概念:scriptSession,scriptSession在每次訪問都會創建,具體內容在下面展示。

二、項目

1、配置Web.xml啓用Dwr


2、配置dwr.xml來配置JS和Java類的關係


3、編寫JSP頁面


4、編寫Java代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章