DWR框架1

         Ajax,或者說是異步JavaScript和XML,描述了一種使用混合了HTML(或XHTML)和層疊樣式表作爲表達信息,來創建交互式的Web應用的開發技術;文檔對象模型(DOM),JavaScript,動態地顯示和與表達信息進行交互;並且,XMLHttpRequest對象與Web服務器異步地交換和處理數據。

  因特網上許多例子展示了在一個HTML文件內部使用XMLHttpRequest與服務器端進行交互的必要的步驟。當手工地編寫和維護XMLHttpRequest代碼時,開發者必須處理許多潛在的問題,特別是類似於跨瀏覽器的DOM實現的兼容性這樣的問題。這將會導致在編碼和調試Javascript代碼上面花費數不清的時間,這顯然對開發者來說很不友好。

  DWR(直接Web遠程控制)項目是在Apache許可下的一個開源的解決方案,它供給那些想要以一種簡單的方式使用Ajax和XMLHttpRequest的開發者。它具有一套Javascript功能集,它們把從HTML頁面調用應用服務器上的Java對象的方法簡化了。它操控不同類型的參數,並同時保持了HTML代碼的可讀性。

  DWR不是對一個設計的插入,也不強迫對象使用任何種類的繼承結構。它和servlet框架內的應用配合的很好。對缺少DHTML編程經驗的開發者來說,DWR也提供了一個JavaScript庫包含了經常使用的DHTML任務,如組裝表,用item填充select下拉框,改變HTML元素的內容,

 

   DWR網站是詳盡的並且有大量的文檔,這也是這篇文章的基礎。一些例子用來展示DWR如何使用和用它的庫可以完成什麼樣的工作。

  這篇文章讓讀者看到了一個使用了DWR的Web應用是如何一步步建立的。我會展示創建這個簡單的示例應用的必要的細節,這個應用是可下載的並且可以在你的環境中佈署來看看DWR如何工作。

  注意:找到有關Ajax的信息並不困難;網頁上有幾篇文章和博客的條目涵蓋了這個主題,每一個都試圖指出和評論這個概念的不同的方面。在資源部分,你會找到一些有趣的指向示例和文章的鏈接,來學習Ajax的更多的內容。

  示例應用

  這篇文章使用的示例應用模擬了多倫多的一個公寓出租搜索引擎。用戶可以在搜索前選擇一組搜索標準。爲了提高交互性,Ajax中以下兩種情況下使用:

  ·應用通告用戶配合他的選擇會返回多少搜索結果。這個數字是實時更新的-使用Ajax-當用戶選擇的臥室和浴室的數量,或者價格範圍變化時。當符合標準的搜索結果沒有或太多時,用戶就沒有必要點擊搜索按紐。

  ·數據庫查詢並取回結果是由Ajax完成的。當用戶按下顯示結果按鈕時,數據庫執行搜索。這樣,應用看起來更具響應了,而整個頁面不需要重載來顯示結果。

  數據庫

  我們使用的數據庫是HSQL,它是一種佔用資源很小的Java SQL數據庫引擎,可以不需要安裝和配置的與Web應用捆綁在一起。一個SQL文件被用來在Web應用的上下文啓動時創建一個內存中的表並添加一些記錄。

  Java類

  應用包含了兩個主要的類叫Apartment和ApartmentDAO。Apartment.java類是一個有着屬性和getter/setter方法的簡單的Java類。ApartmentDAO.java是數據訪問類,用來查詢數據庫並基於用戶的搜索標準來返回信息。ApartmentDAO類的實現的直接了當的;它直接使用了Java數據庫聯接調用來得到公寓的總數和符合用戶請求的可用公寓的列表。

  DWR配置和使用

  設置DWR的使用是簡單的:將DWR的jar文件拷入Web應用的WEB-INF/lib目錄中,在web.xml中增加一個servlet聲明,並創建DWR的配置文件。DWR的分發中需要使用一個單獨的jar文件。你必須將DWR servlet加到應用的WEB-INF/web.xml中佈署描述段中去。主要是servlet中的servlet-class指定爲uk.ltd.getahead.dwr.DWRServlet ,servlet-mapping中的url-pattern指定爲/dwr/*
<serlet></serlet>

發佈了1 篇原創文章 · 獲贊 2 · 訪問量 5256
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章