IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management  >

开发 Web 应用程序的快捷途径

在 WebSphere Application Server - Express 上开发访问 DB2 UDB Express 的 Java Web 应用程序

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

样例代码


级别: 初级

Sham Sham Lim (limss@my.ibm.com), 销售技术支持, IBM Virtual Innovation Center, IBM Malaysia

2004 年 6 月 01 日

本文向 Java 开发人员介绍了 WebSphere Application Server - Express 开发应用程序的基础知识,其中使用 DB2 Express 来进行数据存储。本文介绍了 WebSphere Application Server - Express 和 DB2 UDB Express 的基本架构,解释了相关术语,并且涵盖了从安装产品,进行配置,到部署 Java 应用程序这一过程中您所需要知道的细节信息。

获取本文中所使用的产品


请到 IBM 评估版软件下载 下载和试用 IBM 软件。





回页首


WebSphere Application Server - Express 和 DB2 UDB Express 简介


WebSphere Application Server - Express是 WebSphere Application Server 家族中最简单的成员。因为它的目标是中小型公司,而这些公司可能不需要其他产品所提供的所有功能,所以它只包含了 WebSphere Application Server 完整架构的一个子集。例如,它未包括 EJB 支持。

WebSphere Application Server - Express 由两个主要产品构成:

  • Express Application Server- 用以支持 Web 应用程序部署和运行的全功能生产系统
  • WebSphere Studio Site Developer(WSSD)- 允许您创建和测试应用程序的开发工具

图 1向您展示了 WebSphere Application Server - Express 架构的概貌。


图 1. WebSphere Application Server - Express 概貌
WebSphere Application Server - Express 概貌

以下是 WebSphere Application Server 中使用的术语:

应用程序服务器
应用程序服务器是您的应用程序将要执行的基本运行库组件。您可以在配置中定义一个或多个应用程序服务器;但是在 Express 级别上,不能将工作负载分布在多个应用程序服务器中。

以下是应用程序服务器中的主要组件:

  • Web 容器
    每个应用程序服务器运行库都有一个逻辑 Web 容器。该容器将处理 servlet、JSP 文件以及其他类型的服务器端内容。Web 容器配置提供了应用程序服务器组件的有关信息,该组件处理由 Web 服务器所提交的请求。
  • 嵌入式 IBM HTTP 服务器
    在典型的应用程序服务器环境中,您将具有一个 Web 服务器来为 HTML 页面服务。需要动态内容的请求(使用 JSP 或 servlet)将被传递给应用程序服务器。Express Application Server 提供了基于 IBM HTTP 服务器的嵌入式 Web 服务器。这个嵌入式服务器可用于为应用程序提供静态的 Web 页面。虽然无法完全配置 Web 服务器,但是它提供了 WebSphere Application Server - Express 环境中运行的应用程序所需的功能。
  • 节点
    一个节点就是一个共享公共配置的 WebSphere 管理的逻辑进程分组。节点通常与 Application Server 的物理安装有关。在应用程序的 Express 配置中,就只有一个称作 DefaultNode 的节点。
  • 单元
    单元是更高级的 Application Server 版本中所使用的管理概念。应用程序服务器附属于节点,而节点则属于单元。在 Express 配置中,只有一个称作 DefaultNode 的单元。

可在以下地方找到更多 WebSphere 的术语定义:
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246976.html?Open
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246555.html?Open

DB2 UDB Express是 IBM DB2 家族中定价最低的全功能关系数据库版本。它是专为帮助中小型公司集成和管理其业务而设计的。

图 2展示了 DB2 UDB Express 的概貌。


图 2. DB2 UDB Express 概貌
DB2 UDB Express 概貌

以下是一些您必须熟悉的 DB2 基本术语:

DB2 管理服务器(DB2 Administration Server,DAS)
图 2 外部定义了一个物理机器(“My Server”)。所有安装了 DB2 的机器都具有一个称作 DAS 的后台进程。DAS 的主要目的是为了提供远程管理支持。每个物理机器都应该具有一个 DAS 服务器进程。

实例
实例是一个提供数据库访问的进程集合。一个实例可用于提供到一个或多个数据库的服务。您可以在一台机器上安装一个或多个实例,而每个实例都充当一个独立的服务器环境,因此,这些实例的停止和重启都互不影响。

每个实例还具有自己的配置文件,数据库管理器配置文件(DBM CFG)用于进行实例级的安全、性能变量和通信配置。每个实例都有一个 DBM CFG。

数据库
数据库是一组表的集合,包括数据以及相关对象,如索引、视图、触发器和存储过程。实例进程提供到数据库数据的访问。

每个数据库都具有自己的数据库级配置文件,称作数据库配置文件(DB CFG)。





回页首


安装 WebSphere 和 DB2 UDB Express 产品


在后面的一个实践中,我们将使用 IBM WebSphere Application Server Express V5.1 和 IBM DB2 Universal Database Express V8.1。可从以下 Web 站点下载 WebSphere Application Server Express 和 DB2 UDB Express 的试验版本:
http://www14.software.ibm.com/webapp/download/home.jsp

我们不会一步步地介绍安装,因为该过程有向导协助进行并且极其简单。以下是您验证是否成功完成安装时可采取的一些步骤:

  1. 在完成 WAS Express 安装之后,继续执行 Start -> Programs -> IBM WebSphere Application Server Express 5.1 -> First Steps。单击 Verify Server Installation来验证 WebSphere Application Server - Express 的安装是否成功。您应该在每项测试的最后看到消息“OK”。
  2. 在安装了 DB2 UDB Express 之后,则继续执行 Start -> Programs -> IBM DB2 -> Set-up Tools -> First Steps,以便创建 SAMPLE 数据库。或者,您可以通过在 DB2 命令窗口中( Start -> Programs -> IBM DB2 -> Command Line Tools -> Command Window)执行 C:\>DB2 Installation folder>\SQLLIB\bin\ 中的 db2sampl 来完成该工作。我们稍后将在应用程序中使用该数据库中的一个表。
  3. DB2 控制中心(Control Center)是 DB2 的管理中心。要检查 SAMPLE 数据库是否创建成功,您可以通过 Start -> Programs -> IBM DB2 -> General Administration Tools -> Control Center调用 DB2 控制中心。如您在 图 3中所见,若要显示系统所编目的所有 DB2 系统,可以通过单击 Systems 前的 + 符号来展开对象树。屏幕的左边部分将列出可用的 DB2 系统。本例中,系统 LIMSS 包含了一个名为 DB2 的 DB2 实例,而数据库 SAMPLE 就位于该实例中。当加亮显示某一表时,屏幕的右边部分就会显示该表的所有相关细节。

图 3. DB2 Control Center
DB2 Control Center

现在,让我们继续考虑应用程序本身的问题。





回页首


使用 WebSphere Studio Site Developer 开发 Java Web 应用程序


J2EE 规范是用以开发、部署和运行企业 Web 应用程序的标准。IBM WebSphere Application Server V5 已经完成了 J2EE 规范的整套测试包。该产品支持所有的 J2EE 1.3 API,并且进行了大量扩展。您可以检查在 http://java.sun.com/j2ee/compatibility.html上检查由 Sun Microsystmes 所宣布的 J2EE 兼容产品清单。

图 4展示了 J2EE 包装,有助于理解 J2EE 应用程序的组件。


图 4. J2EE 包装
J2EE 包装

正如您可以从 图 4中所看到的,企业应用项目(MyApp.ear)包含了部署企业(J2EE)应用程序所需的资源层次结构。它可能包含 Web 模块、EJB 模块、JAR 文件和应用程序客户机模块的组合。企业应用项目将被导出用作企业档案(EAR)文件,EAR 文件包括企业应用项目中所定义的所有文件,以及用于部署描述符中所定义的每个 J2EE 模块项目的适当的模块档案文件,例如 Web 档案(WAR)和 EJB JAR 文件。

WebSpere Application Server - Express 不支持 EJB 组件,因此,用该产品进行的典型企业应用程序部署主要包括 Web 模块和 JAR 支持文件。

WSSD 提供了不同的透视图,用于以不同的方式查看和使用资源。一个透视图包含一组视图、编辑器以及与该透视图内最可能执行的任务相匹配的工具栏选项。在应用程序的部署阶段,您可以使用 WSSD 中的不同透视图,如 Web 透视图、Data 透视图或 Server 透视图。

例如,Server 透视图的设计就考虑了服务器或单元测试环境中的操作。有一个服务器控制台(console)视图、一个显示服务器配置的视图、一个允许您启动和停止服务器的视图等等。(见 图 5。)


图 5. WSSD 中的 Server 透视图
WSSD 中的 Server 透视图

本示例中,我们主要将使用 Web 透视图来开发 Web 项目组件。

因此本文的目的是向您概述在 WebSphere Application Server - Express上部署使用 DB2 UDB Express 的 Java Web 应用程序,所以我们将开发一个简单的解决方案,用以向 DB2 UDB Express 上的后端数据库输入用户 ID 和口令。一旦成功建立连接,应用程序就会在一个表中显示雇员记录。

在下一节中,我们将一步步介绍示例的创建。因为我们需要快速完成应用程序,所以我在本示例中使用的编程模型可能并不适合您的环境。本示例中的页面表示紧密配合了业务逻辑,这将阻碍将来的应用程序可伸缩性。此外,该示例不包括异常处理。请注意,这只是一个学习示例,所以要使用最适合您环境的架构。





回页首


创建应用程序


步骤 1 ? 创建 MyFirstTest Web 项目


现在,我们将创建 Web 项目了。从 Web 透视图Window -> Open Perspective -> Web)中,执行下列操作:

  1. 选择 File -> New -> Dynamic Web Project
  2. 输入项目名 MyFirstTest,并确认是否选择了 Configure advanced options复选框。这将允许您选择企业应用项目。
  3. 单击 Next
  4. 在 EAR Project 列表框旁,单击 New,并输入项目名 MyFirstTestEar
  5. 单击 Finish,这将创建 MyFirstTestEar企业应用项目(Enterprise Application Project)。
  6. 验证是否选择了 J2EE 1.3 级别。默认情况下,其上下文根(context root)将指向 Web 项目名。
  7. 单击 Next
  8. 单击 Next
  9. 单击 Finish

新建的 Web 项目带有合适的目录结构、样式表和 Web 部署描述符(web.xml)。Web 模块的入口也被添加到了企业应用程序部署描述符(application.xml)中。 图 6展示了针对刚刚定义的 Web 项目而创建的目录结构。


图 6. MyFirstTest Web 项目的目录结构
MyFirstTest Web 项目的目录结构

步骤 2 - 创建 index.html


该页面将作为您应用程序的主页面。我们将在该 html 页面中创建一个表单,以便用户使用用户 ID 和口令建立到后端数据库的连接。

通过 Web 透视图,在 MyFirstTest/WebContent目录下创建 index.html 文件,如下:

  1. 找到 MyFirstTest/WebContent文件夹,然后右击 -> New -> HTML file
  2. New HTML File窗口中,确认将文件夹名设置为 MyFirstTest/WebContent,并将 Markup 语言设置为 HTML。输入新的 HTML 名称 index并单击 Next
  3. 在第二个窗口中,保留默认值并单击 Finish。HTML 编辑器中新产生的 HTML 应该包含下列初始文本:“Place content here.”。
  4. 将该文本修改为“ Congratulations!”。确保选择 Design选项卡,并将光标定位在新创建的文本上。在左下角,选择 Attributes选项卡。这将出现 Paragraph部分。选择 heading 1,并增加字符串的大小。
  5. 将光标定位在新创建的文本下,然后输入新文本“ You have successfully deployed your first Java application on the Express Application Server.”,并在 Attribute窗格中选择 heading 3
  6. 将光标定位在新创建的文本下。输入以下附加的新文本:“ Next, we are going to establish a connection to your backend database, DB2 UDB Express. Please log on using the ID and password you used to create the SAMPLE database.”,并在 Attribute 窗格中选择 normal
  7. 将光标定位在新创建的文本下。在工具栏上,选择 Insert -> Form and Input Fields -> Form。这将出现一个新表单。在 Attribute 窗格中,在 Action 字段中输入 logonEmployee.jsp并为该方法选择 Post单选按钮(radio button)。
  8. 将光标定位在新创建的表单中,并单击工具栏上的 Insert -> table图标。在弹出式窗口中,输入 3 行2 列并单击 OK。这将出现一个新的表。在第一行的第一列中,输入文本“ User ID:”。在第二行的第一列中,输入文本“ Password”。
  9. 将光标定位在表中第三行的第一列中,然后右击 Insert Input Fields -> Submit Button。在弹出式窗口中的 Name 字段和 Label 字段中均输入“ SUBMIT”,并单击 OK
  10. 将光标定位在表中第一行的第二列中,然后右击 Insert Input Fields -> Text Field。在弹出式窗口中的 Name 字段、Columns 字段和 Maximum length 字段里分别输入“ UserID”、“ 20”和“ 20”,并单击 OK
  11. 将光标定位在表中的第二行的第二列中,然后右击 Insert Input Fields -> Text Field。在弹出式窗口的 Name 字段、Columns 字段和 Maximum length 字段里分别输入“ Password”、“ 20”和“ 20”,然后选择 Password单选按钮并单击 OK
    您的 index.html 应该如下面的 图 7所示。
    图 7. index.html 设计
    index.html 设计
  12. 页面设计已经完成。切换至 Source 选项卡来查看目前为止所生成的代码。为了防止提交错误数据,我们还要向该页面添加表单验证。我已经提前准备了 JavaScript 代码(formvalidation.txt)(请参阅 下载)。您只需要从 formvalidation.txt 复制脚本定义并粘贴到 index.html 页面的 HEAD 部分,如下:
    …..
    <HEAD>
    ….
    </TITLE>
                
                在这里粘贴脚本
    </HEAD>
                            
              
              

  13. 在 FORM 标签中添加 onsubmit处理程序。当用户按下 Submit 按钮时,在向服务器提交表单之前将执行 onsubmit 处理程序中的代码。如果该代码的返回值错误,就会取消提交。
    <FORM ACTION="logonEmployee.jsp" METHOD="POST" ONSUBMIT="return validateForm(this)">
                            

步骤 3 ? 创建 errorPage.jsp


我们并非要显示一个展示所有错误的标准服务器页面,而是将创建一个我们需要的可插式(look and feel)错误定制 JSP。

  1. 找到 MyFirstTest/WebContent文件夹,然后右击 New -> JSP file
  2. 在 New JSP File 窗口中,确保将文件名设置为 MyFirst Test/WebContent以及将 Markup 语言设置为 HTML。输入新的 JSP 名 errorPage.jsp并单击 Next
  3. 其余的窗口都保留默认值,并单击 Next
  4. 在最后一个窗口中,保留默认值并单击 Finish。JSP 编辑器中将出现一个新的 JSP。
  5. 您既可以使用向导,也可以手工编写。JSP 编辑器应该显示了新的 errorPage 页面,并带有以下初始文本:“Place content here”。将该文本修改为“Error Page”。确保选择 Design选项卡,将光标定位在新创建的文本上。在左下角,选择 Attributes选项卡。这将出现 Paragraph部分。选择 heading 1;并应增加字符串的大小。
  6. 将光标定位在新创建的文本下,输入新文本“ An error has been detected:”并在 Attribute 窗格中选择 heading 2
  7. 将光标定位在新创建的文本下,然后选择 JSP -> Insert Expression
  8. Design窗口中将出现一个新的表达式图标,并在左下角出现 jsp:expression编辑器。在该编辑其中输入以下文本: request.getAttribute("Error")
  9. 将光标定位在新的一行上,并选择 Insert -> Link。在 URL 列中输入: <%=request.getContextPath()%>/index.html
    并将 Link text中的文本修改为“ Go back to Login Page”。
    您的 errorPage.jsp 将如下面的 图 8所示:

    图 8. errorPage.jsp 设计
    errorPage.jsp 设计
  10. 保存修改并关闭 JSP。继续执行步骤 4 来创建 loginEmployee.jsp。

步骤 4 ? 创建 loginEmployee.jsp


如果 index.html 中 validateForm() 的返回值为真,那么用户 ID 和口令输入将被提交给 loginEmployee.jsp。

  1. 找到 MyFirstTest/WebContent文件夹,然后右击 New -> JSP file
  2. 在 New JSP File 窗口中,确保将文件夹名设置为 MyFirstTest/WebContent以及将 Markup 语言设置为 HTML。输入新的 JSP 名 loginEmployee.jsp并单击 Next
  3. 其余的窗口都保留默认值,并单击 Next
  4. 在最后一个窗口中,保留默认值并单击 Finish。JSP 编辑器中将出现一个新的 JSP。
  5. 您既可以使用向导,也可以手工编写。JSP 编辑器将显示新的登录(login)页面并带有以下初始文本:“ Place content here”。将该文本修改为“ Welcome to the MyFirstTest Employee Page”。确保选择 Design选项卡,将游标定位在新创建的文本上。在左下角,选择 Attributes选项卡;这将出现 Paragraph部分。选择 heading 2;并应增加字符串的大小。
  6. 现在,将光标定位在新的一行上,并选择 Insert -> Table。在弹出式窗口中,输入 2 行4 列,并单击 OK。这将出现一个新的表。
  7. 在第一行的第一列中,输入文本“ EMP NO”。在左下角,选择 Attributes 选项卡。将 Cell 类型设置为 Header。对第二、第三和第四列重复执行相同的操作,分别输入下列文本:“ FIRST NAME”、“ LAST NAME”、“ JOB”。
  8. 在第一行的第二列中,选择 JSP -> Insert Expression。这将出现一个表达式编辑器。选择该图标,然后选择位于左下角窗格中的 Attributes 选项卡。您将看到 jsp:expression编辑器。在该编辑器中,输入 EmpNo。对第二、第三和第四列重复执行相同的操作,分别在 jsp:expression editor 中输入下列文本: LastNameFirstNameJob
  9. 切换至 Source选项卡。按照下列方式导入 java.sql.*:
    <%@ page language="java"
    contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"
    import="java.sql.*"
    %>
                            

  10. 您还将看到已生成下列代码:
    …
    <TABLE border="1">
        <TBODY>
      <TR>
       <TH>EMP NO</TH>
       <TH>LAST NAME</TH>
       <TH>FIRST NAME</TH>
       <TH>JOB</TH>
      </TR>
      <TR>
       <TD><%=EmpNo%></TD>
       <TD><%=LastName%></TD>
       <TD><%=FirstName%></TD>
       <TD><%=Job%></TD>
      </TR>
     </TBODY>
    </TABLE>
     …
                            

  11. 在光标置于第一个 </TR><TR> 之间,并选择 JSP -> Insert Scriptlet。您将看到已经添加了 <%%>,如下:
     ….
     <TH>Job</TH>
     </TR>
     <%%>
      <TR>
      <TD><%=EmpNo%></TD>
                            

  12. 切回 Design 窗格。现在,您将看到页面上出现了一个 scriptlet 图标。选择该图标并右击 Attributes。jsp:scriptlet 编辑器将出现在左下角。将 PartA.txt(在文章的 下载部分)中的代码粘贴到该编辑器中。
  13. 切回 Source 窗格。将光标置于 </TR></TBODY>之间。选择 JSP -> Insert Scriptlet。您将看到已经添加了 <%%>,如下:
    ….
    <TD><%=Job%></TD>
    </TR>
    <%%>
    </TBODY>
    …. 
                            

  14. 切回 Design 窗格。现在,您将看到页面上出现了一个 scriptlet 图标。选择该图标并右击 Attributes。jsp:scriptlet 编辑器将出现在左下角。将 PartB.txt(在文章的 下载部分)中的代码粘贴到该编辑器中。

    loginEmployee.jsp 还将实例化一个 JavaBean,以便您可以在这个 JSP 文件中引用该 bean。在继续添加 useBean 标签之前,我们首先将创建 步骤 5步骤 6中所列的 MakeConnection.java 和 SearchEmployee.java。请跳到 步骤 5去创建 java 文件;我们稍后将回来添加 useBean 标签。

    我们将添加一个 <jsp:useBean> 标签,如果无法找到同一 id 和作用域的 bean,就会实例化一个 empBean bean。在它被实例化之后,您就可以在 JSP 文件中引用该 bean 了。

  15. 将光标置于“Welcome to the MyFirstTest Employee Page”之上,然后选择 JSP -> Insert Bean。在 Insert Bean 窗口中,输入 ID empBean。单击 Class 旁边的 Browse按钮。在 Search a class 列中输入 SearchEmployee。确保 SearchEmployee 属于匹配类型,以及 emppkg ? MyFirstTest/JavaSource 属于 Qualifer。然后单击 OK。确保 Class 字段现在包含了文本“emppkg.SearchEmployee”。
  16. 在 Scope 中,选择 Request。然后单击 OK结束。您将在 Design 窗口中看到一个新的 useBean 标签。

    您的 logonEmployee.jsp 将如下面的 图 9所示:


    图 9. logonEmployee.jsp 设计
    logonEmployee.jsp 设计
  17. 保存修改并关闭 JSP。到目前为,控制台中应该不存在“Broken Link”消息和错误了。但是,如果有的话,您可以查看该消息并加以改正。否则,就说明我们已经为部署应用程序做好准备了。我们将在 下一节中介绍应用程序的部署。

步骤 5 ? 创建 MakeConnection Servlet


在该步骤中,我们将创建一个新的 servlet,它使用 index.html 中的用户 ID 和口令输入来建立到后端数据库 DB2 UDB Express 的连接。

  1. 在继续创建 servlet 之前,我们将创建一个程序包。在 Web 透视图中,找到 /MyFirstTest/Java Resources文件夹。右击 New -> Package。在弹出式窗口中输入“ emppkg”,然后单击 Finish。您将看到 /MyFirstTest/Java Resources 文件夹中创建了一个程序包 - emppkg。
  2. 为了在 emppkg 程序包中创建一个名为 MakeConnection.java的 servlet,先找到 /MyFirstTest/Java Resources文件夹,然后选择 emppkg程序包并右击 New -> Servlet来打开 New Servlet 向导。
  3. 确保 Folder 文本字段包含文本 /MyFirstTest/JavaSource,且 Java 程序包为 emppkg。
  4. MakeConnection的 Class Name 中进行输入。
  5. 确保超类(Superclass)为 javax.servlet.http.HttpServlet。单击 Next继续。
  6. 确保选中了 Add to web.xml选项。验证是否将 URL 映射到了 /MakeConnection。单击 Finish创建 servlet。
  7. MakeConnection.java 将出现在编辑器中。
  8. 擦除 MakeConnection.java 中所有预生成的代码。复制 MakeConnection.txt(包含在文章 下载)中的代码,并粘贴到 MakeConnection.java 中。
  9. 保存您的修改并关闭。
  10. 继续执行 步骤 6来创建 SearchEmployee Servlet。

步骤 6 ? 创建 SearchEmployee Servlet


在建立到 SAMPLE 数据库的连接之后,我们将通过调用另一个名为 SearchEmployee的 servlet 来检索所有雇员的细节信息。

  1. 为了在 emppkg 程序包中创建一个名为 SearchEmployee.java 的 servlet,先找到 /MyFirstTest/Java Resources文件夹,然后选择 emppkg程序包并右击 New -> Servlet来打开 New Servlet 向导。
  2. 确保 Folder 文本字段包含文本 /MyFirstTest/JavaSource,且 Java 程序包为 emppkg。
  3. MakeConnection的 Class Name 中进行输入。
  4. 确保超类(Superclass)为 javax.servlet.http.HttpServlet。单击 Next继续。
  5. 确保选中了 Add to web.xml选项。验证是否将 URL 映射到了 /SearchEmployee。单击 Finish创建 servlet。
  6. SearchEployee.java将出现在编辑器中。
  7. 擦除 SearchEmployee.java 中所有预生成的代码。复制 SearchEmployee.txt(包含在文章 下载)中的代码,并粘贴到 SearchEmployee.java 中。
  8. 保存您的修改并关闭。
  9. 到目前为止,您已经创建了 MakeConnection 和 SearchEmployee。请继续执行上面 步骤 4中的 #15来添加 useBean 标签。




回页首


将应用程序部署到 WebSphere 测试环境和 Express Application Server 中


WebSphere Application Server - Express 为应用程序的部署提供了两种应用程序服务器环境:

  • WebSphere 测试环境
    这是包含在 Studio Site Developer 中 Express Application Server 的一个实例。它用于在开发应用程序时来测试它们。
  • Express Application Server
    这是一个单独的应用程序服务器,用于在生产环境中运行应用程序。它既可以与 Studio Site Developer 一起安装在同一机器上,也可以安装在远程系统上。

测试应用程序最简单的方法就是从 WebSphere 测试环境开始。因为我们在前面的小节中已经开发了应用程序,所以现在就可以将应用程序部署到 WebSphere 测试环境中来加以测试了。

为了使用测试环境,我们还需要进行下列工作:

  1. 创建一个服务器到服务器的配置
    现在,我们将为应用程序创建一个测试环境服务器。您可以在 Web 透视图或 Server 透视图中进行。本示例中,我们将直接从 Web 透视图创建它。在 Web 透视图中,按照以下 图 10中所示的步骤来创建测试环境服务器。
    图 10. 安装测试环境服务器
    安装测试环境服务器
  2. 将企业应用程序发布到服务器上
    如果您未修改默认的服务器首选项,那么您的应用程序 MyFirstTest 将会被自动地发布到测试环境中,如 图 11所示:
    图 11. 在测试环境中发布 MyFirstTest 应用程序
    在测试环境中发布 MyFirstTest 应用程序

    在完成发布之后,还将自动启动服务器 server1。您将在控制台视图中看到消息‘Server server1 open for e-business’。这表明该服务器已经启动成功。我们的应用程序 index.html 还将在 Web 浏览器中打开。

  3. 用特定于应用程序的值更新服务器配置
    在此时,我们仍然还未完成,请关闭 Web 浏览器并停止 server1,因为我们还未用 JDBC 驱动程序和 SAMPLE 数据库的数据源更新服务器配置。

    JDBC 2.0 提供了两种建立数据库连接的方法。第一种方法是通过使用 驱动程序管理器界面来完成。这是从 JDBC 1.0 继承下来的,并要付出高昂的性能代价。通过该方法,每当您从程序访问数据库时,都要创建连接,从而招致大量的处理开销。

    另一种处理数据库连接的方法就是使用 数据源(data source)对象。通过使用数据源对象,您可以访问一个连接数据源的连接池。连接池可提高性能,因为一将数据源对象实例化,它就会创建一个连接。当 servlet 或其他客户机需要使用连接时,它就通过 JNDI 服务器中的名称查找数据源对象。然后,数据源对象将给客户机返回一个连接。客户机完成连接之后,就释放它。然后,数据源对象将该连接返回给可用池。

    由于连接池有许多优点,所以在 Web 应用程序中偏爱使用数据源对象的方法来处理数据库连接。我们将在本示例中使用数据源对象。

    切换至底部窗格中的 Servers 选项卡。您将看到 WebSphere Express v5.1 测试环境(Test Environment)的状态被设置为 Started。要停止该服务器,请右击 Servers 视图并选择 Stop。其状态将马上被修改为 Stopping,并且在最后,Console 视图将自动打开,并显示您的 server1 已经停止。

    切回至 Web 透视图中的 Servers 选项卡。双击测试服务器来打开配置。切换至 Data source选项卡。第一步就是向配置添加一个 JDBC 提供程序。这将告诉服务器要使用哪一类 JDBC 驱动程序来访问数据库。

    您将看到配置中已经预先定义了一个 Cloudscape 驱动程序和数据源信息。它用于支持与 WAS Express 一起配送的应用程序样例。

    单击 JDBC 提供程序列表旁边的 Add。在窗口上方选择 IBM DB2,并在窗口下方选择 DB2 Legacy CLI-based Type 2 JDBC Driver。单击 Next。可以任意设置名称,本示例中,我们将其命名为 DB2 JDBC Driver。您看到的实现类名和类路径都是 DB2 JDBC 提供程序所默认的。请注意,所指定的类路径中必须可获得驱动程序 db2java.zip。类路径使用变量 ${DB2_JDBC_DRIVER_PATH},我们稍后将定义它。

    现在,按照 图 12中所示步骤来定义数据源资源(Data Source Resource)。


    图 12. 添加数据源
    添加数据源

    在 Modify Data Source 屏幕中,将 Name 修改为 SAMPLE,并确保 JNDI 名为 jdbc/SAMPLE,这将匹配我们在 MakeConnection.java 中所指定的名称。单击 Next,并确保将 databaseName 的值设置为 SAMPLE。单击 Finish,您就完成了数据源的定义。

    前面所指定的类路径变量 ${DB2_JDBC_DRIVER_PATH} 缺仍然还未定义。切至 Variables选项卡。节点设置中预先定义了变量 DB2_JDBC_DRIVER_PATH,但是其值还是空的。按照 图 13中所示的步骤来定义驱动程序的位置。


    图 13. 定义 DB2 JDBC 驱动程序的位置
    定义 DB2 JDBC 驱动程序的位置

    保存所有修改后,您就已经完成了配置。关闭该配置。

  4. 启动服务器
    下一步就是启动服务器。在底部窗格的 Servers视图中选择 WebSphere Express V5.1 Test Environment。右击并选择 Start

    Console 视图将自动打开,并显示服务器运行时消息。如果您发现了问题,或者该服务器未启动,就检查控制台消息,解决问题后再试一次。

    您将在控制台视图中看到消息“ Server server1 open for e-business”,这表明服务器已经启动成功。

  5. 运行应用程序
    按照 图 14中所示的步骤来运行 MyFirstTest 应用程序。
    图 14. 运行应用程序
    运行应用程序

    该应用程序将在 Web 浏览器中打开,如 图 15所示。


    图 15. 测试应用程序
    测试应用程序

现在,我们将实践应用程序代码。使用您用于创建 SAMPLE 数据库的 ID 和口令来建立到 DB2 UDB Express 的连接。如果您所提供的 ID 和口令是无效的,那么您将看到一个错误页面。否则,将显示带有细节信息的雇员列表,如下面的 图 16所示:


图 16. 带有细节信息的雇员列表
带有细节信息的雇员列表

我们已经在 WebSphere 测试环境中测试了应用程序,并且没有发生错误。首先要确保停止了服务器,右击 Servers 视图并选择 Stop。接下来的事情就是将该应用程序作为企业应用程序部署到 Express Application Server 上。

在典型的生产环境中,应用程序通常是通过 管理控制台(administrative console)来管理的。本示例中,我们将应用程序 MyFirstTest 导出到一个 EAR 文件,并将之放置在应用程序服务器上来进行部署。

在 Web 透视图中,按照 图 17中所示的步骤来将 MyFirstTest 企业应用程序导出到 EAR 文件中。


图 17. 将 MyFirstTest 导出至 EAR 文件
将 MyFirstTest 导出至 EAR 文件

下一步就是将前一步所导出的 EAR 文件安装为 WebSphere Application Server Express 企业应用程序。我们将使用 WebSphere Administrative Console 的工具来执行安装。

因为已将管理控制台应用程序默认地安装在 server1 上,所以必须启动它来访问应用程序。您可以通过 Start -> Programs -> IBM WebSphere Application Server ? Express 5.1 -> Start Application Server来启动该服务器。

打开浏览器,并输入这个 URL:http://localhost:7090/admin 来启动 WebSphere Administrative Console。在安装 WAS Express 时,定义了一个虚拟主机 admin_host,用于访问 WebSphere Administrative Console。其配置匹配端口 7090 中的请求。

在安装时,具有访问该服务器的 Web 浏览器的任何人都可以访问管理控制台。如果您需要执行用户身份验证,这就需要启用 WebSphere 全局安全性。本示例中将忽略这一部分内容。

按照 图 18中所示的步骤来将 EAR 文件安装为一个使用 Administrative Console 的企业应用程序。


图 18. 安装新的应用程序 MyFirstTest.ear
安装新的应用程序 MyFirstTest.ear

下一页面包含了 4 个步骤。每一步都选择默认值并继续。在最后一步中,单击 Finish。您将看到一条“Application MyFirstTestEar”安装成功的消息。您必须在此时保存配置。单击 Save to Master Configuration,然后单击 Save按钮。您应返回 Administrative Console 主页。

接下来,我们将为应用程序创建 JDBC 提供程序和数据源资源(Data Source Resources)。按照 图 19中所示的步骤来定义 JDBC 提供程序和数据源。


图 19. 定义 JDBC 提供程序和数据源
定义 JDBC 提供程序和数据源

我们已经完成了 JDBC 提供程序的定义;让我们继续定义数据源资源(Data Source Resource)。

在 Administrative Console 的左边框架中,选择 Resources -> JDBC Providers。选择您刚创建的 JDBC 提供程序,即 DB2 Legacy CLI-based Type 2 JDBC Driver。在该页面的 Additional Properties选项卡中,选择 Data Sources

在 Data Sources 页面中,单击 New。按照 图 20中所示的步骤来创建新的数据源。


图 20. 创建新的数据源
创建新的数据源

现在,从现有的资源中选择 SAMPLE。在该页的 Additional Properties 选项卡中,选择 Custom Properties。单击 Custom Properties 表中的 databaseName链接。将 databaseName 的值填写为 Sample并单击 OK保存该配置。

我们需要指定的另一个变量就是 DB2 JDBC 驱动程序在服务器上的位置。按照 图 21中所示的步骤来定义该驱动程序的位置。


图 21. 指定 DB2 JDBC 驱动程序的位置
指定 DB2 JDBC 驱动程序的位置

现在,我们准备测试 Express Application Server 上所部署的 MyFirstTest 应用程序。

在 Administrative Console 的左边框架中,选择 Applications -> Enterprise Applications,并确保 MyFirstTestEar 的状态为 started

打开浏览器来测试该应用程序。该应用程序的 URL 将与 WebSphere Studio Site Developer 环境的(http://localhost:7080/MyFirstTest/)相同。

测试您的应用程序,并验证该应用程序是否被正确部署到应用程序服务器上。如果应用程序中没有错误,就表示您已经在 Express Application Server 中成功地部署了您的应用程序。

祝贺您,您现在已经完成了整个实践!





回页首


结束语


本文中,我提供了 WebSphere Application Server - Express 和 DB2 UDB Express 的基本概述。我还列举了使用 WSSD 开发简单的 Java Web 应用程序的步骤,并展示了如何在 WebSphere Application Server - Express 上部署和运行访问 DB2 UDB Express 的这个应用程序。.

本文未涉及安全性、会话管理、其他透视图的使用以及可用于替换 scriptlet Java 代码的定制 JSP 标签等话题。关于更多信息,请查阅参考资料小节所列出的手册。






回页首


下载

名字大小下载方法
files.zip2.2 KBHTTP
关于下载方法的信息


参考资料



关于作者

Sham Sham Lim 在 IBM 软件在线技术支持中心(IBM Virtual Innovation Center)提供 DB2 UDB 的销售技术支持(Technical Presales Support)。Sham Sham 获得了管理方面的 DB2 认证。她大部分时间都是在帮助 IBM 的商业合作伙伴解决与 DB2 相关的技术问题。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款