簡介
您希望您的電子商務能夠全天候每天 24 小時,每周 7 天)運行,因為這對企業非常有利。然而,這對於那些使電子商務運行起來的人來說,可就不大妙了。在本文的 前一篇文章 中,我們為您提供了一個基於 Java™ Swing 的應用程序,IBM® DB2® Universal Database™ 的用戶可用這個應用程序在數據庫中添加、修改和刪除數據記錄。然而,事實上很多時候您可能身處遠離數據庫的異地,但仍然需要能夠對企業數據執行這樣的一些操作。那麼,為什麼不利用萬維網呢?
在本文中,我們將為您提供一個完備的 Web 應用程序,我們稱之為 DB2 webSQL,這個應用程序允許通過 HTTP 訪問 DB2 V8 數據。要使用這裡的代碼,需要確保有一個能夠處理 JSP 和 Servlet 的 Web 應用程序服務器正在運行。我們是針對 WebSphere® Application Server來開發代碼的。但是,我們的設計不用做太多的修改就應該能夠在其他的 Web 應用程序服務器上工作。
至於開發環境,我們使用 WebSphere Studio Application Developer4.0。內建的 WebSphere V4.0 測試環境讓我們可以找出程序中的紐結kink)。WebSphere Studio Application Developer 讓我們可以使用一種遵從 J2EE 規范的方法無縫地構建應用程序。
在本文中,我們通過 DB2 V8 的 Type 4 JDBC Universal 驅動程序來使我們的項目得以實現。這種驅動程序是針對 DB2 V8 的一種新驅動程序,它提供了以下特性:
注意,要使用 JDBC Universal 驅動程序,必須將 db2jcc.jar 文件包括到 Java CLASSPATH 環境變量中。當查看代碼時您將注意到,在使用 Type 4 驅動程序的過程當中,您可能已經習慣的 JDBC 語法又變了不少。
我們之所以對使用這種新驅動程序如此熱心,是因為我們希望使用可更新的 ResultSet 支持。您可以在 http://www.ibm.com/developerworks/cn/db2/library/techarticles/0209hutchison/index.html一文中閱讀更多有關 Type 4 JDBC 驅動程序和 DB2 V8 提供的新特性的信息。
先決條件
在編寫本文時,我們假設您對以下技術有比較系統的理解:
能移動游標,能對結果集進行更新,這正是 JDBC 2.0 API 帶來的強大功能的一部分。您可能需要通過閱讀 http://java.sun.com/docs/books/tutorial/jdbc/jdbc2dot0/index.html來熟悉相關語法。
為了安裝應用程序,我們建議采用以下先決條件:
該應用程序是以一個 WAR 文件的形式發布的。
在 Windows NT® 下的 WebSphere Application Server 4.0 中安裝應用程序
DB2 webSQL 的架構
圖 1. WebSQL 架構
DB2 webSQL 應用程序是基於 Model-View-ControllerMVC)模式的。在 MVC 模式中:
在我們的應用程序中,模型是駐留在 DB2 數據庫中的數據,我們正想通過 HTTP 訪問這些數據。視圖由一些 JSP也就是 choosetable.jsp 、 dberror.jsp 和 manipulatetable.jsp )組成,這些 JSP 是由客戶機上的 Web 浏覽器顯示的。最後,控制器由兩個 servlet AuthenticateServlet.java 和 DBManipulateServlet.java )組成,這兩個 servlet 執行請求並將結果發送到適當的視圖也就是 JSP)。
通過將 MVC 模式應用到 DB2 webSQL 應用程序,我們將表示邏輯和控制邏輯與數據分離開來。用這種方式開發的 Web 應用程序具有如下優點:
此外,這種 MVC 架構允許在應用程序的開發過程中清晰地劃分開發人員角色。在我們的應用程序中,表示邏輯即 JSP 頁面)與數據訪問和業務邏輯即兩個 servlet 以及它們的助手類)是分開的。為什麼這麼做有利呢?因為這種清晰的分離讓您可以更改應用程序的外觀和感覺look and feel);這種更改比起將所有代碼都緊緊混合在一起的情況下的更改要輕松得多。
在 http://www.redbooks.ibm.com/abstracts/sg246585.html上提供的IBM 紅皮書 WebSphere Studio Application Developer Programming Guide, SG24-6585-00 中就有一章介紹使用 WebSphere Studio Application Developer 以 MVC 模式進行開發,內容相當精彩。