ZK 入門
The following examples had been tested on Mozilla's Firefox and Microsoft's IE. The document is provided as is. You are welcomed to use it for non-commercial purpose.Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
請勿轉貼
看其他教材
請注意: 不知道是哪一項原因所造成的(我沒有太多的時間 測試),如果你的作業系統是 Windows 7 64 bits 版,安裝的是 Tomcat 5.5.x 版, 那麼很有可能你會碰到跟我一樣的情形:執行程式的時候會看到 commons-fileupload.jar 沒有安裝的錯誤訊息,或者執行 ZK 時看到 java.lang.NoClassDefFoundError: bsh/NameSpace 的錯誤訊息,解決的方法就是把 tomcat\webapps\xml\WEB-INF\lib\ext 中的 bsh.jar 以及 commons-fileupload.jar 移到 tomcat\shared\lib 中,就可以解決。
為什麼要 ZK?
長久以來,使用者一直希望 Web 系統的介面能夠跟傳統的視窗桌面系統一樣的好用。 從過去的發展歷程來看,這樣的趨勢是無法擋的,因此網頁的設計從靜態的 HTML 網頁、動態的 DHTML 網頁、使用 applets/Flash/ActiveX 元件, 以及一直到最近的 AJAX 技術。 Google 一直是這個概念的積極落實者,這可以從他們過去開發的 Gmail、Google Maps、Google Suggest、以及 Google Docs 看出來。就像我在網誌中提到的: "一旦所有視窗桌面系統可以做到的,都可以在瀏覽器中完成,那麼作業系統 的重要性也就會大大的降低了"。在之前的教學文件 AJAX 入門中,我們了解了基本的 AJAX 程式開發的技巧。可是當我們慢慢大量 的使用 AJAX 技巧到現有的 WEB 介面的資訊系統後,我們會立即發現 AJAX 的幾個 大的缺點(參考 ZK Architecture Overview):
- AJAX 非常依賴 Javascript,可是偏偏 Javascript 在不同的瀏覽器中卻有 不相同的執行結果。
- 有部分商業邏輯(business logic)也會重複出現在瀏覽器端,容易造成維護成本的 增加。
- 有可能暴露部分的資料結構以及商業邏輯,降低系統的安全性。
- 維持客戶端以及伺服器端的資料一致性是困難的。
ZK 有一個全球性的首頁,也有一個 繁體中文的網頁。 簡單的說,程式開發人員會開發一個個的 ZK 網頁(副檔名為 .zul)放在伺服器; 當使用者向伺服器要求一個 zul 網頁的時候,伺服器端(或者說 "ZK Loader")會載入 該 zul 網頁,並依據其內容轉換出必要的 HTML 元件、CSS 設定、以及 Javascript 碼(稱之為 "ZK Client Engine");這些內容會被回傳到瀏覽器。 顯示在瀏覽器的內容如果包含一些互動元件(如按鈕), 而且如果使用者點選了該按鈕,則該事件會由 "ZK Client Engine" 處理,必要的 話,它還會要求伺服器端(或者說 "ZK AU Engine")進行處理並將結果回傳給 "ZK Client Engine"。這整個過程,可以由下列的簡圖表達(該圖由中興大學 資管系學生瑋婷 N 年前製作的):
Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
沒有留言:
張貼留言