首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Aspire 與 Tomcat 整合:階層式資料集架構與 Java API 實戰

     編輯:Java 程式設計入門

Aspire 是一個 RAD 工具,提供使用者以標準的 XML/XSL、J2EE 及關聯式資料庫技術快速地創建網站。Aspire 可接受的資料來源包含預存程序、SQL 陳述式、EJBs 及 Java 元件,並使用 Apache 的 xerces/xalan 作為轉換的處理器。Aspire 可使用於多種 Servlet 引擎,例如 Apache/JServ、Apache/Tomcat 及 WebSphere 等。

一、何為階層式資料集?為什麼要用?

階層式資料集並不是一個新的名詞。他們已經以客戶資訊控制系統的交易資料、目錄檔案、Java 物件、更接近於 XML 檔案的格式存在了。早在 2001 年的 XML 雜誌上,我就認為程式設計師可以從階層式資料集的提取上得到好處,儘管他們的資料源具有很強的資料相關性(像:MySQL, Oracle, SQL Server, DB2 等等之類的資料庫)。.NET 思想和資料集概念也很相似。儘管我所認為的階層式資料集和傳統的微軟資料集有很大的不同,階層式資料集具有的豐富細節描述極大增強了關聯式資料的提取。

本文重在講述階層式資料集的結構和與其相關的 Java API。你現在就可以用一系列的可執行程式碼來獲取階層式資料集的優勢。我們可以在 Java 裡編寫一定程式碼來實現對各種各樣的資料源的訪問以及創建一個完整的階層式資料集,本篇中我們就將給出可執行的程式碼,你可以利用這些程式碼並結合一個簡單的預定義關聯式適配器就可以創建一些階層式資料集。這裡的關聯式適配器包括:文字閱讀器、SQL 腳本、預存程序等等。

現在你可能會問了:「這個階層式資料集究竟有什麼好啊?」對一個專案來說,一個階層式資料集就可以滿足整個 HTML 頁面上所有的有價值資料的需要。在 MVC 模型裡,控制器的 Servlet 可以提交一個階層式資料集給 JSP 頁面後,JSP 頁面就可以顯示它而不需要任何的幫助。也可以說,透過控制器的 Servlet 可直接將其轉換為 XML 格式返回給請求者。從實用的角度來說,資料集可以轉換成 Excel 格式的檔案。從新潮的角度來說,階層式資料集可以轉換為支援 XML 資料的報表或者圖表。

二、階層式資料集的結構

階層式資料集可以表示為一個 Java API、XML 或者別的格式,而用 XML 來表示將會更加形象:

<AspireDataSet>
  <!-- A set of key value pairs at the root level -->
  <key1>val1</key1>
  <key2>val2</key2>
  <!-- A set of named loops -->
  <loop name="loop">
  </loop>
  <loop name="loop2">
  </loop>
</AspireDataSet>

這是一系列的 key/value 對。一個給定的 key/value 可以用在 N 個獨立的 loops 當中。其實每一個 loop 就是一個資料表。loop 可以說是 table 的同義詞了。我沒有用 table 這個術語是為了防止人們會不由自主的聯想到關聯式資料表。已經說過了 loop 其實上是很多行記錄的集合,現在讓我們認真地看 loop 的結構:

<loop name="loopname">
  <row>
    <!-- a set of key value pairs -->
    <key1>val1</key1>
    <key2>val2</key2>
    <!-- a set of named loops -->
    <loop name="loopname1">
    </loop>
    <loop name="loopname2">
    </loop>
  </row>
  <row>
  </row>
</loop>

這裡唯一一個不成對的結構就是 row 結構了。一個 row 結構可以是一些 key/value 對的集合。這裡的 row 不僅包含了一些 key/value 對,並且還包括了多個獨立的 loop 結構的遞迴集。這種擴展可以生成一定深度的樹結構。

三、Java 中的階層式資料結構

當我把階層式資料集以 XML 的形式展示的時候,你可能會把階層式資料集理解為字面上的 XML,因此你會先想到 DOM,接著你甚至會想這樣豈不是會佔用很大的 JVM 記憶體。不必慌張。階層式資料集有自己的 Java API 而不需要 DOM 來描述。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved