为 DB2 编写基于 Web 的表编辑器 GUI(1)

发表于:2007-07-13来源:作者:点击数: 标签:
简介 您希望您的电子商务能够全天候(每天 24 小时,每周 7 天)运行,因为这对企业非常有利。然而,这对于那些使电子商务运行起来的人来说,可就不大妙了。在本文的 前一篇文章 中,我们为您提供了一个基于 Java Swing 的应用程序,IBM DB2 Universal Datab

简介

您希望您的电子商务能够全天候(每天 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 的一种新驱动程序,它提供了以下特性:

  • 可更新的 ResultSet 支持。
  • 改进的 DB2 认证(authentication)安全
  • 改进的 Java SQL 错误消息。
  • 程序化(programmatic)的跟踪功能。

注意,要使用 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 提供的新特性的信息。

先决条件

在编写本文时,我们假设您对以下技术有比较系统的理解:

  • Java Servlets
  • Java Server Pages (JSPs)
  • JDBC

能移动游标,能对结果集进行更新,这正是 JDBC 2.0 API 带来的强大功能的一部分。您可能需要通过阅读 http://java.sun.com/docs/books/tutorial/jdbc/jdbc2dot0/index.html来熟悉相关语法。

为了安装应用程序,我们建议采用以下先决条件:

  • 客户端:Internet Explorer Browser 4.0 或更高版本。
  • 服务器端:
    • 一个运行有 JRE 1.3 的 Java Servlet 引擎。JRE 1.3 支持 JSP 1.0 规范或更高版本,并且支持 Java Servlet 2.2 规范 或更高版本。
    • DB2 Version 8。

该应用程序是以一个 WAR 文件的形式发布的。

在 Windows NT® 下的 WebSphere Application Server 4.0 中安装应用程序

  1. 下载 WAR 文件。
  2. 定位到 Start>Programs>IBM WebSphere> WebSphere Admin Server 4.0> Start Admin Sever,打开 Admin Console。
  3. 使用 Install 向导将 Enterprise Application 部署为一个独立的(stand-alone)Web 应用程序。
  4. 选择下载的 WAR 文件,为该应用程序选择一个上下文环境(例如 DB2WebSQL)。
  5. 向导将请求您选择一个虚拟主机(选择 default_host)和应用程序服务器(选择缺省的应用程序服务器)。
  6. 向导将询问与 EJB 部署描述符相关的各种问题。忽略这些问题,连续单击 Next,直到向导的最后一页。单击 Finish
  7. 安装完毕之后,您将收到一条消息,表明应用程序已经安装成功。
  8. 在 Admin Console 中的 Enterprise Applications 下您将看到安装好的应用程序。右键单击该应用程序,启动应用程序。
  9. 在节点上单击右键,重新为该节点生成插件(plug-in)。
  10. 可以使用下面的 URL 来访问该应用程序: http:// yourservername/application_context_name/login.html。

DB2 webSQL 的架构

图 1. WebSQL 架构

架构

DB2 webSQL 应用程序是基于 Model-View-Controller(MVC)模式的。在 MVC 模式中:

  • 模型(Model)代表企业数据。
  • 视图(View)呈现模型的内容。
  • 控制器(Controller)将与视图的交互转换成由模型执行的动作。

在我们的应用程序中,模型是驻留在 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 模式进行开发,内容相当精彩。



  

原文转自:http://www.ltesting.net