简介
您希望您的电子商务能够全天候(每天 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 驱动程序,必须将 db2jclearcase/" target="_blank" >cc.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-Controller(MVC)模式的。在 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 模式进行开发,内容相当精彩。