程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> WebSphere >> 利用DB2 9與WebSphere Community Edition啟動J2EE開發

利用DB2 9與WebSphere Community Edition啟動J2EE開發

編輯:WebSphere

像訪問關系數據一樣訪問 XML

開始之前

關於本教程

本教程為您講解在 Linuxe 或 Microsoft® Windows 環境中 設置 IBM WebSphere Application Server Community Edition 軟件(下面簡稱為 Community Edition) 和 IBM DB2 9 數據庫的過程。您還將看到在編寫和部署 Community Edition 上運行的 Java 2 Platform, Enterprise Edition (J2EE) 應用程序時所涉及到的步驟。您將了解到 DB2 9 pureXML 技術 在以原生格式存儲 XML 方面的優點,並學習如何使用 Community Edition 作為 J2EE 應用程序的服務器 。

為什麼使用 DB2 9?

DB2 9 是業界第一款可同時管理關系數據和純 XML 格式的數據的混合型 數據服務器。長期以來,DB2 一直提供高性能的數據存儲和基於 SQL 標准的對關系數據的訪問方式,同 時提供的還有諸如數據分區和高級索引之類的數據存儲優化和查詢優化技術。現在,DB2 在它已有的關系 引擎的基礎上,更是引入了一種用於 XML 數據優化的數據存儲引擎。應用程序開發人員如今可以將 XML 數據直接存儲在 DB2 服務器中,並立即獲得事務處理、高級數據彈性(resiliency)、安全訪問等方面 的優點,當然還有使用 XQuery 搜索大量 XML 數據的能力。

XML 數據常用於應用程序之間的數據 交換和文檔管理。XML 數據的靈活性和自描述性使其成為很多應用程序的理想選擇。

在過去,查 詢 XML 數據的能力受到很大的限制。最近,一種新的、基於標准的 XML 查詢語言已經發布。這種查詢語 言被稱為 XQuery;它的 1.0 版於 2005 年 11 月被發布。它是已有的 XPath 2.0 標准的一種擴展。

為什麼使用 Community Edition?

IBM WebSphere Application Server Community Edition 是構建在 Apache Geronimo 之上的 J2EE 應用服務器,這是由 Apache Software Foundation 創建的一種開放源碼的應用服務器。如果您需要一種 輕量級的應用服務器來作為運行 J2EE 應用程序的測試平台,並且想得到一個相對穩定的、經過嚴格測試 的並且全世界受支持且可用的構建,那麼無論是從技術的角度還是經濟的角度來說,Community Edition 都是您的最佳選擇。您可以相信,自己正使用的應用服務器是足夠穩定的,足以運行應用程序和原型;而 且,Community Edition 可以免費下載和使用。您可以安裝它,馬上讓它運行,然後進行評測或演示原型 。您可以一直免費使用該產品,需要時才購買可選的 IBM 支持,必要時甚至還可以遷移到其他 WebSphere Application Server 產品上。

目標

本教程將幫助您熟悉 Community Edition 的管理功能,以及如何編寫將 XML 存儲在 DB2 9 中和使用 DB2 9 中的數據的 Java 代碼。您將執行以下任務:

安裝必需的軟件。

創建一個 DB2 9 數據庫,並配置 Community Edition,以便使用 DB2 9。

將一個數據源部署到 Community Edition,以用於連接池。

將一個示例 J2EE 應用程序部署到 Community Edition 上。

分析示例應用程序的 Java 代碼,理解其工作原理。

先決條件

本教程的讀者至少應具有 DB2 9 的入門級經驗,同時還應具有 SQL 和 Java 平台方面的一些經驗, 並對 XML 有一定的了解。

系統需求

要運行本教程中的例子,需要:

DB2 9 Data Server

WebSphere Application Server Community Edition

Apache Ant

Microsoft Windows 2000 或更高版本和具有管理員權限的帳戶,或者 Linux 和具有 root 訪問權限 的帳戶。確認您的系統上安裝了 Java Runtime Environment 1.4.2 或更高版本。

請參閱 DB2 9 系統需求頁面 和 Community Edition 系統需求頁面,以確保您的硬件能滿足相應的需 求。

請參閱 developerWorks 教程 “DB2 XML 評估指南” ,以獲知安裝 DB2 9 的步驟。DB2 9 在安裝後 將自動啟動。另外,還請參閱 developerWorks 文章 “Get started with WebSphere Application Server Community Edition”的 “Download and install Community Edition” 一節,看看如何安裝適 合您的平台的軟件包和安裝 Community Edition。

Apache Ant 是一種開放源碼的、基於 Java 的構建工具。在該項目的主頁上可以找到關於安裝 Apache Ant 的信息。

您還需要下載用於演示本教程中的概念的示例 J2EE 應用程序。該應用程序的代碼和所需的數據在文 件 j2ee_development_db2.zip 中。請將 j2ee_development_db2.zip 的內容解壓到 C:\j2ee_development_db2 或 /home/userid/j2ee_development_db2 之類的一個目錄中。本教程後面統 一將該目錄簡稱為 j2ee_development_db2。本教程假設您在安裝 DB2 9 和 Community Edition 時使用 了默認目錄。

創建 DB2 9 數據庫,並配置 Community Edition,以便使用 DB2 9

為了測試示例應用程序,需要創建一個數據庫,並用示例數據填充該數據庫。此外,可能還需要配置 Community Edition,以便使用 DB2 9。本節將論述這些步驟。

創建一個能存儲 XML 的 DB2 9 數據庫,並填充該數據庫

首先,需要運行一個 SQL 腳本,該腳本創建一個帶 XML 支持的 DB2 9 數據庫,並為之填充數據。該 腳本是本文代碼下載的一部分,所以請務必像上一小節描述的那樣下載和解壓那個文件。Linux 用戶需要 以 db2 安裝期間創建的 db2inst1 用戶來執行上述步驟。可以通過運行 su - db2inst1 來切換到這個用 戶。

在 Windows 上,選擇 Start > IBM DB2 > DB2 (default) > General Administration Tools > Control Center,打開 Control Center。Linux 用戶可以通過運行以下命令來初始化環境變 量和啟動 Control Center: source /home/db2inst1/sqllib/db2profile 
db2cc &

注意,有些 Linux 發行版不允許以不同於登錄用戶的用戶身份運行 GUI 應用程序。如果遇到這樣的 Linux 發行版,那麼應先注銷,然後以 db2inst1 用戶登錄。

選擇 Tools > Command Editor,打開 Command Editor。

單擊 Open Folder 圖標(),根據您的平台選擇適當的 SQL 腳本:對於 Windows 選擇 j2ee_development_db2 \database\meetUp.sql,對於 Linux 選擇 j2ee_development_db2/database/meetUp_linux.sql。接著 Command Editor 中將顯示該文件的內容。在這個 SQL 腳本的最後一部分,有一個名為 meetUpImport_events.del 的文件路徑,和一個名為 meetUpXML_speakers 的目錄路徑;更改這兩個路徑 ,使之符合 j2ee_development_db2.zip 被解壓到的位置。單擊 Play 按鈕運行該命令。

在 meetup.events 表中,現在應該填充了 380 行數據,Command Editor 看上去應該如圖 1 所示。

圖 1. 填充了數據的表

該腳本創建了一個名為 meetup 的數據庫,其中有一個名為 events 的表,其模式也名為 meetup。( 模式的名稱 meetup 是隨意起的,也可以用其他的名稱。)讓我們看看其中一行被插入的數據。在 表 1 中,XML 列 speakers 最為有趣。您將部署的示例 J2EE 應用程序將執行訪問該列的查詢。speakers 列 下的 XML 文檔描述 0 個或多個演講者,包括演講者的名字、姓氏和公司。

設置 Community Edition,以便使用 DB2 9

在撰寫本教程之際,Community Edition 支持 DB2 8.2,但是官方上不支持 DB2 9。不過,通過一些 額外的步驟,仍可以設置 Community Edition,使之使用 DB2 9。

如果還沒有啟動 Community Edition 服務器,那麼啟動它。請參閱 Get started with WebSphere Application Server Community Edition一文中的 “Starting and stopping the server” 一節,以獲 取詳細信息。

確認 DB2 JAR 文件在 Community Edition 的存儲庫中。確保在 Community Edition 的存儲庫中有與 DB2 數據庫管理服務器相同級別的 JDBC JAR 文件總是不錯的:

在一個新的浏覽器窗口中打開 https://localhost:8443/console/,使用預定義的用戶名 system 和 密碼 manager 登錄到 Community Edition Administrative Console 上。也可以通過 http://localhost:8080/console 訪問該控制台,但是使用 HTTPS 較為可取。

選擇 Services > Common Libraries 進入 Repository Viewer portlet。

檢查 Current Repository Entries 下是否有與 DB2 數據庫管理服務器相同級別的 JDBC JAR 文件。 如果您正使用的是 DB2 9.1,那麼可以檢查 com.ibm.db2/db2jcc/9.1/jar 和 com.ibm.db2/db2jcc_license_cu/9.1/jar 是否被列出。

如果在存儲庫中沒有發現相同級別的 db2jcc 和 db2jcc-license_cu JAR 文件,那麼請繼續執行本節 中的步驟。如果有相同級別的這兩個 JAR 文件,那麼可以進入下一小節, 將一個數據源部署到 Community Edition,以用於連接池。

為 Community Edition 的存儲庫准備 DB2 JAR 文件。這是必需的,因為 Community Edition 的存儲 庫只接受 Maven 識別格式。換句話說,在文件名中,版本號之前必須有一個連字符,例如 db2jcc- 9.1.jar。

將 db2jcc.jar 和 db2jcc_license_cu.jar 從 C:\Program Files\IBM\SQLLIB\java(在 Windows 上 )或 /opt/ibm/db2/V9.0/java(在 Linux 上)復制到一個臨時目錄。

在臨時目錄中,將 db2jcc.jar 的文件名改為 db2jcc-9.1.jar,將 db2jcc_license_cu.jar 的文件 名改為 db2jcc_license_cu-9.1.jar。

將 db2jcc-9.1.jar 和 db2jcc_license_cu-9.1.jar 添加到 Community Edition 的存儲庫中。

在之前打開的 Repository Viewer portlet 中,單擊 Browse...,導航到 db2jcc-9.1.jar。在 Group 文本框中輸入 com.ibm.db2,如圖 2 所示。

圖 2. 將 db2jcc-9.1.jar 添加到存儲庫中

單擊 Install 將 db2jcc-9.1.jar 添加到存儲庫中。

重復上述兩個步驟中描述的過程,將 db2jcc_license_cu-9.1.jar 添加到存儲庫中。

檢查當前存儲庫條目下是否列出了 com.ibm.db2/db2jcc/9.1/jar 和 com.ibm.db2/db2jcc_license_cu/9.1/jar。

上述步驟將使得 db2jcc-9.1.jar 和 db2jcc_license_cu-9.1.jar 可為 Community Edition 的內核 所用,這樣內核就可以根據需要裝載它們。這裡不需要重新啟動服務器,更改即可生效。

將一個數據源部署到 Community Edition,以用於連接池

連接池技術使 J2EE 服務器可以重用已有的到數據庫的連接。這樣可以減少 J2EE 應用程序為獲得到 一個數據庫的連接而花費的時間,從而提高 J2EE 應用程序的性能。當您獲取一個數據庫連接時,應用程 序將使用連接池中已有的一個連接,類似地,當關閉該連接時,應用程序將把該連接返回給連接池。要使 用連接池,需要當 Community Edition 正在運行時部署一個數據源。J2EE 應用程序必須指定它要使用的 數據源;在後面的 分析應用程序的 Java 代碼 一節可以看到這方面的詳細信息。

要使用 Create Database Pool 向導創建數據源,執行以下步驟:

在一個新的浏覽器窗口中打開 https://localhost:8443/console/,使用預定義的用戶名 system 和 密碼 manager 登錄到 Community Edition Administrative Console 上。

選擇 Services > Database Pools 進入 Database Pools portlet。

單擊 Using the Geronimo database pool wizard 鏈接。

指定 db2datasource 作為 Name of Database Pool。選擇 DB2 XA 作為 Database Type。單擊 Next 。

在 database pool 頁面,輸入如圖 3 所示的配置。您可以使用默認的連接池參數。

圖 3. 創建新 的數據庫池

單擊 Show Plan,以顯示數據庫部署計劃。記住清單 1 所示的模塊信息,因為在下一節中,當您部署 Geronimo Web 部署計劃時將引用到它。

清單 1. 模塊信息

<dep:moduleId>
     <dep:groupId>console.dbpool</dep:groupId>
     <dep:artifactId>db2datasource</dep:artifactId>
     <dep:version>1.0</dep:version>
     <dep:type>rar</dep:type>
   </dep:moduleId>

單擊 Deploy Pool 創建數據源。在產生的頁面上可以看到新創建的 db2datasource,在這裡還可以編 輯它或查看它的使用情況。

將 J2EE 應用程序部署到 Community Edition 上

至此,您已經可以部署和測試示例 J2EE 應用程序了。為了部署 WAR 文件:

在 Administrative Console 中,選擇 Applications > Deploy New 導航回 Install New Applications portlet。在這個 portlet 中,不但可以安裝數據源,還可以安裝項目(WAR,JAR,EAR) 文件。

單擊 Archive: 旁邊的 Browse...,導航到 java_development_db2\java\meetup.war。由於 Geronimo 部署計劃是捆綁在 WAR 文件中的,因此可以忽略 Plan: 旁的文本框不填。使 Start app after install 復選框保持被選中狀態,單擊 Install。如果部署成功,那麼您的屏幕看上去應該如圖 4 所示。

圖 4. 部署成功

通過訪問 http://localhost:8080/Meetup,應該可以測試這個應用程序。圖 5 所示的歡迎頁面有一 些表單,這些表單與三個查詢和一條插入語句進行交互。嘗試在第一個查詢中輸入 2006-05-17,或在第 三個查詢中輸入一個公司名,例如 IBM。

圖 5. MeetUp 應用程序

恭喜,您已經設置好環境,並成功地部署了應用程序!

當應用程序被部署到 Community Edition 之後,您可以停止、啟動或卸載它。在 Administrative Console 中,從左側選擇 Applications > Web App WARs。您部署的 J2EE 應用程序正在模塊名 wasce/meetup/1.1/war 下運行,並且處於運行狀態。如果停止一個應用程序,那麼網站用戶就不能訪問 它,但是它仍然在服務器上。如果卸載一個應用程序,那麼網站用戶就不能訪問它,而且它也被從服務器 上刪除。

應用程序的模塊名是在 Geronimo Web 部署計劃文件(geronimo-web.xml)中指定的,該文件在 java_development_db2\web\WEB-INF 目錄下,其中包含清單 2 所示的代碼:

清單 2. 應用程序模塊名

<sys:moduleId>
     <sys:groupId>wasce</sys:groupId>
     <sys:artifactId>meetup</sys:artifactId>
     <sys:version>1.1</sys:version>
     <sys:type>war</sys:type>
   </sys:moduleId>

部署計劃文件中另一個重要的部分是根元素 environment 中的 dependencies 標記。在 dependencies 標記中可以指定多個 dependency 元素。在這個例子中,各 dependency 元素的 groupId/artifactId 和 type 值必須與被部署到 Community Edition 的 db2datasource 的相應值匹配 (見 前一節 中的清單 1)。如果這些值匹配,那麼在應用程序完全啟動之前,如果還沒有裝載 db2datasource 模塊,那麼應用程序將請求 Community Edition 的內核裝載 db2datasource 模塊。在本 文的代碼下載中有 geronimo-web.xml 的一個版本,所以這些值已經經過了正確的設置;如果是從頭開始 編寫一個新的應用程序,那麼必須確保這些值是正確的。

只要內核能根據 groupId、artifactId 和 type 的值確定要裝載哪個模塊,dependency 標記中的版 本信息就是可選的。

清單 3 包含完整的 Web 描述文件。

清單 3. Geronimo Web 描述文件(geronimo-web.xml)

<web-app  xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
          xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1"
          xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
          xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
  <sys:environment>
   <sys:moduleId>
    <sys:groupId>wasce</sys:groupId>
    <sys:artifactId>meetup</sys:artifactId>
    <sys:version>1.1</sys:version>
    <sys:type>war</sys:type>
   </sys:moduleId>
   <sys:dependencies>
    <sys:dependency>
     <sys:groupId>console.dbpool</sys:groupId>
     <sys:artifactId>db2datasource</sys:artifactId>
     <sys:type>rar</sys:type>
    </sys:dependency>
   </sys:dependencies>
   <sys:hidden-classes/>
   <sys:non-overridable-classes/>
  </sys:environment>
  <context-root>/MeetUp</context-root>
  <naming:resource-ref>
   <naming:ref-name>jdbc/MyDataSource</naming:ref-name>
   <naming:resource-link>db2datasource</naming:resource-link>
  </naming:resource-ref>
</web-app>

分析應用程序的 Java 代碼

示例 J2EE 應用程序使用四個類:DBUtil、 Queries、QueriesServlet 和 XmlUtil。當用戶使用 Web 頁面上的表單時,請求被傳送到 QueriesServlet。QueriesServlet 處理輸入,並確定被請求的是什麼信 息,然後調用 Queries 中的一個方法。Queries 使用 DBUtil 獲得一個連接,並對數據庫執行查詢。 XmlUtil 是幫助進行 XML 打印和轉換的類。本節將闡釋每個類的關鍵部分。

QueriesServlet 類包括清單 4 中的代碼。這部分代碼將響應的 Content-Type 設置為 application/xml,以返回 XML 內容。注意要指定返回給客戶機的內容的類型,使客戶機能適當地作出響 應。

清單 4. 響應內容類型

void doGet(HttpServletRequest req, HttpServletResponse  res) throws IOException
{
  ...
  PrintWriter pw = res.getWriter();
  ...
  res.setContentType("application/xml");
  Document doc = queries.getEventsAtDate(dateStr);
  xmlUtil.printDoc(doc.getDocumentElement(), pw);
  ...
}

清單 5 展示了 Queries 類中的函數。特別需要注意的是 DB2Xml 數據類型的使用,該數據類型用於 存儲查詢檢索到的對象。從 getObject() 方法調用返回的 XML 對象被存儲在一個 DB2Xml 對象中,這種 方式與將 getString() 方法調用返回的 String 存儲在一個 String 對象中類似。惟一的區別是,不存 在名為 getXml() 的方法。要使用 XML 查詢,必須使用 executeQuery(),所以務必清除 XML 查詢中的 輸入。

當執行一個返回 XML 的查詢時,必須將 XML 存儲在一個 DB2Xml 對象中。DB2Xml 提供從 DB2 返回 的 XML 數據的中間存儲,在檢索它之後,很可能會將它轉換成另一種數據類型。較可取的做法是將它轉 換為 Document 對象,以利用 Java 用於處理此類對象的大量的庫。清單 5 中的代碼使用 XmlUtil 類中 的 db2XmlToDocument() 函數。

清單 5. 返回 XML 的查詢

public Document getSpeakersFromCompany(String  companyName)
{
   ...

   try
   {
     stmt = con.createStatement();
     ...
     query =
      "values(xmlquery(' "
      + "<events> "
      + "{ "
      + " for $c in db2-fn:xmlcolumn(\"MEETUP.EVENTS.SPEAKERS\")/speakers/speaker  ";

      if (companyName != null)
      {
        query += "where matches($c/company, \"" + companyName + "\", \"i\")  ";
   }

      query += " order by $c/lastname "
      + " return $c "
      + "} "
      + "</events> "
      + "'))";

      ResultSet rs = stmt.executeQuery(query);

      if (rs.next())
      {
        DB2Xml db2xml = (DB2Xml) rs.getObject(1);
        evtDoc = xmlUtil.db2XmlToDocument(db2xml);
      }
    }
    ...
}

在 XmlUtil 類中,清單 6 所示的函數 db2XmlToDocument() 通過兩個方法調用將一個 DB2Xml 對象 轉換成一個 Document 對象。DB2Xml 類中還有其他一些方法可以幫助進行轉換。docBuilder() 是一個 DocumentBuilder 對象;它是一個 XML 解析器,可以根據各種輸入創建一個 Document 對象。

清單 6. 將 DB2Xml 轉換成 Document

public Document db2XmlToDocument(DB2Xml  db2xml)
{
  ...

  try
  {
  return docBuilder.parse(db2xml.getDB2BinaryStream());
  }
  ...
}

DBUtil 類包含連接到數據庫的方法。這個類是必需的,因為要通過它來使用部署到 Community Edition 的數據源。在清單 7 中,通過在 Community Edition 的資源列表中執行查找,訪問到數據庫的 連接池。(注意,這種查找在任何遵從 J2EE 的服務器上都可以工作。)

清單 7. 訪問到數據庫的連接池

ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/MyDataSource");

清單 8 展示了如何使用 SQL 語句插入 XML 數據。函數 insertEvent() 在 Queries 類中。注意,可 以像插入字符串一樣插入 XML 數據,這裡的 SQL 語句看上去就像您所熟悉的 INSERT 語句。只需創建一 個具有 XML 結構的字符串,便可以構建所需的 XML。

清單 8. 將 XML 插入表中

public void insertEvent(String id, String title,  String type,
  String startDateTime, String endDateTime,
  String description, String[] lastNames, String[] firstNames,
  String[] companyNames)
{
  ...
  try
  {
  insert =
   "INSERT INTO meetup.events (id, title, type, startTime," +
   " endTime, description, speakers)" +
   " VALUES (?, ?, ?, ?, ?, ?, ?)";

  stmt = con.prepareStatement(insert);

  stmt.setString(1, id);
  ...

  // create the XML document describing the speakers
  String speakers = "<speakers>";
  for (int i = 0; i < lastNames.length; i++)
  {
        if (lastNames[i] != null && firstNames[i] != null  && companyNames[i] != null)
   {
   speakers += "<speaker>";
   speakers += "<lastname>" + lastNames[i] + "</lastname>";
   speakers += "<firstname>" + firstNames[i] + "</firstname>";
   speakers += "<company>" + companyNames[i] + "</company>";
   speakers += "</speaker>";
   }
  }
  speakers += "</speakers>";

  stmt.setString(7, speakers);

  stmt.execute();
  }
  ...
}

一旦能夠訪問連接池,通過使用類似於清單 9 所示的代碼,就可以獲得到數據庫的一個連接。要關閉 連接,可使用類似清單 10 所示的代碼。

清單 9. 獲取連接

Connection conn = ds.getConnection();

清單 10. 關閉 連接

con.close();

為了構建 j2ee_development_db2 中的 J2EE 應用程序,需要在 j2ee_development_db2\java 目錄中 運行 Ant。在構建 J2EE 應用程序時,可看到如清單 11 所示的輸出。這將在 j2ee_development_db2 \java 中創建 meetup.war。如果 meetup.war 已存在,則構建腳本會自動替換它。但是,這樣做不會自 動更新安裝在 Community Edition 上的 J2EE 應用程序的版本。如果要重新部署應用程序,必須使用 Community Edition 的 Administrative Console 卸載 Community Edition 上的 Meetup J2EE 應用程序 ,然後部署該應用程序。

清單 11. 構建 J2EE 應用程序時的示例輸出

C:\j2ee_development_db2 \java>d:\ant\bin\ant
Buildfile: build.xml

compile:
   [mkdir] Created dir: C:\j2ee_development_db2\java\web\WEB-INF\classes
   [javac] Compiling 4 source files to C:\j2ee_development_db2\java\web\WEB- INF
\classes

build:
   [delete] Deleting 1 files from C:\j2ee_development_db2\java
    [jar] Building jar: C:\j2ee_development_db2\java\meetup.war

BUILD SUCCESSFUL
Total time: 14 seconds

您也許有興趣知道,現在有一款免費的 IDE 可幫助編寫 J2EE 應用程序、XML 查詢等。它就是 DB2 Developer Workbench,它是基於 Eclipse 的一種開放源碼 IDE。

圖 6. DB2 Developer Workbench 的屏幕快照

結束語

在本教程中,您學習了如何檢查您的 Community Edition 版本是否支持 DB2 9,如何控制在 Community Edition 上運行的應用程序,如何在 Community Edition 中部署和使用連接池,以便使 J2EE 應用程序建立更快的到 DB2 9 的連接,以及如何編寫利用 DB2 9 XML 功能的 Java 代碼。現在,您已經 可以為這種環境編寫 J2EE 應用程序。請訪問 IBM WebSphere Application Server Community Edition 和 Apache Geronimo 論壇,向社區中的其他用戶和專家詢問關於 Community Edition 管理和開發的問題 。

隨文源碼:http://www.bianceng.net/java/201212/707.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved