知识大全 通过Aspire和Tomcat使用层次数据集

Posted

篇首语:科学是为了那些勤奋好学的人,诗歌是为了那些知识渊博的人本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 通过Aspire和Tomcat使用层次数据集相关的知识,希望对你有一定的参考价值。

通过Aspire和Tomcat使用层次数据集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Aspire是一个RAD工具 提供使用者以标准的XML/XSL J EE及关联式资料库技术快速地创建网站 Aspire可接受的资料来源包含存储程序 SQL语句 EJBs及Java控件 并使用Apache 的xerces/xalan作为转换的处理器     Aspire可使用于多种servlet引擎 例如Apache/JServ Apache/Tomcat及WebSphere等     目前发展中的功能包含Crystal reports及Oracle reports等报表工具的整合界面 Aspire优点如下      一 何为层次数据集?为什么要用层次数据集?  层次数据集并不是一个新的名词 他们已经以客户信息控制系统的事务数据 目录文件 Java对象 更接近于XML文件的格式存在了 早在 年的XML杂志上 我就认为程序员可以从层次数据集的提取上得到好处 尽管他们的数据源具有很强的数据相关性(像 MySQL Oracle SQL Server DB 等等之类的数据库) NET思想和数据集概念也很相似 尽管我所认为的层次数据集和传统的微软的数据集有很大的不同 层次数据集具有的丰富的细节描述极大增强了关系型数据的提取     本篇重在讲述层次数据集的结构和与其相关的Java API 并不像XML杂志两年前所说的 你现在就可以用一系列的可执行代码来获取层次数据集的优势 当然我们可以在Java里编写一定代码来实现对各种各样的数据源的访问以及创建一个完整的层次数据集 本篇中我们就将给出一可执行的代码 你可以利用这些代码并结合一个简单的预定义的关系型适配器就可以创建一些层次数据集啦 这里的关系型适配器包括 文本阅读器 SQL 脚本 存储过程等等     现在你可能会问了 这个层次数据集究竟有什么好啊? 当然层次数据集是不能和你的那些受到奖赏的同事得到的昂贵的Carbon带来的实惠相抗衡 在编程中层次数据集是非常有用的 对一个启动来说 一个层次数据集就可以满足整个HTML页面上的所有的有价值的数据的需要 在MVC(Model View Controler)模型里 控制器的servlet可以提交一个层次数据集给JSP页面后 JSP页面就可以显示它而不需要任何的帮助 也可以说 通过控制器的servlet可直接将其转换为XML格式返回给请求者 从实用的角度来说 数据集可以转换成Excel格式的文件 从新潮的角度来说 层次数据集可以转换为支持XML数据的报表或者图表     本篇主要焦点是服务于Java程序员的Java编程的API怎么运用层次数据集 实际上非Java程序员也可以通过有效地结合层次数据集和一个J EE的服务(比如Tomcat)从关系型数据库或者别的数据库中得到XML HTML 或者Excel格式文档 不要过于急躁 我们先来研究研究层次数据集的结构和这些数据集是如何被提取的(现在可以稍微放松一下啦^_^)      二 层次数据集的结构  层次数据集可以表示为一个JavaAPI XML或者别的格式 而用XML来表示将会更加形象:  <AspireDataSet>    <! A set of key value pairs at the root level >    <key >val </key >    <key >val </key >    <! A set of named loops >    <loop name= loop >    </loop>    <loop name= loop >    </loop>  </AspireDataSet>     这是一系列的key/value对 一个给定的key/value可以用在N个独立的loops当中 其实每一个loop 就是一个数据表 loop可以说是table的同义词了 我没有用table这个术语是为了防止人们会不由自主的联想到关系型数据表 已经说过了loop其实上是很多行记录的集合 现在让我们在认真的看loop的结构:  <loop name= loopname >    <row>      <! a set of key value pairs >      <key >val </key >      <key >val </key >      <! a set of named loops >      <loop name= loopname >      </loop>      <! a set of named loops >      <loop name= loopname >      </loop>    </row>    <row>    </row>  </loop>     这里唯一一个不成对的结构就是row结构了 一个row结构可以是一些key/value对的集合 这里的row不仅包含了一些key/value对 并且还包括了多个独立的loop结构的递归集 这种扩展可以生成一定深度的树结构      三 Java当中的层次数据的结构  当我把层次数据集以XML的形式展示的时候 你可能会把层次数据集理解为字面上的XML 因此你会先到DOM 接着你甚至会想这样岂不是会占用很大的JVM内存 不必慌张 层次数据集有自己的的Java API二不需要DOM来描述 下面就是一个层次数据集的Java API代码:  package lgen;  import ai data *;  /**   * Represents a Hierarchical Data Set    * An hds is a collection of rows    * You can step through the rows using ILoopForwardIterator   * You can find out about the columns via IMetaData    * An hds is also a collection loops originated using the current row    */  public interface ihds extends ILoopForwardIterator      /**     * Returns the parent if available     * Returns null if there is no parent     */    public ihds getParent() throws DataException;    /**     * For the current row return a set of      * child loop names ILoopForwardIteraor determines     * what the current row is    *      * @see ILoopForwardIterator     */    public IIterator getChildNames() throws DataException;    /**     * Given a child name return the child Java object      * represented by ihds again     */    public ihds getChild(String childName) throws DataException;    /**     * returns a column that is similar to SUM AVG etc of a      * set of rows that are children to this row      */    public String getAggregatevalue(String keyname) throws DataException;    /**     * Returns the column names of this loop or table      * @see IMetaData     */    public IMetaData getMetaData() throws DataException;    /**     * Releases any resources that may be held by this loop of data      * or table      */    public void close() throws DataException;       简单的说来 上面的ihds接口就是一个层次数据集的接口 这个API使你可以递归的访问你的loop结构 这个接口里有一些遍历loop结构是需要的一些选项 它也能假定是前序遍历或者随机遍历 现在我来介绍的是这个API用到的两个附加的接口: ILoopForwardIterator和IMetaData:  如何在IHDS里遍历行记录的接口: ILoopForwardIterator  package lgen;  import ai data *;  public interface ILoopForwardIterator      /**    * getvalue from the current row matching the key    */    public String getvalue(final String key);    public void moveToFirst() throws DataException;    public void moveToNext() throws DataException;    public boolean isAtTheEnd() throws DataException;       IMetaData: 用于读取列名的接口  package ai data;  public interface IMetaData      public IIterator getIterator();   public int    getColumnCount();   public int    getIndex(final String attributeName)   throws FieldNameNotFoundException;       你是怎么得到层次数据集的?你又可以怎么去用他?  现在我们已经知道了层次数据集的结构了 你又怎么去利用它呢?像我以前所说的 这些再Aspire下是非常容易的 具体的步骤如下:   学习Aspire的基础知识   为你的层次数据集创建定义文件   在Java 代码里调用你的定义和ihds接口    下面具体介绍了这里面的细节:  阅读Aspire JAR的基础的使用方法:  Aspire是一个很小的jar文件 当你用像Tomcat这样的app服务器的时候 它是你的Java程序的一个补充 再Aspire的核心是一系列的配置文件 在这些文件里你可以声明你的根据Java类的数据访问机制和这些Java类的评论 Aspire将执行这些Java类并返回期待的结果对象 层次数据集是没有异常的     一个早期的标志性的对Aspire的评论参见: For Tomcat Developers Aspire Comes in a JAR 配置了初始化一个Aspire就像你定义数据库 调用SQL语句或者存储过程一样   为你的层次数据集创建定义文件:  一个层次数据集的定义实例:  ###################################  # ihdsTest data definition: section   ###################################  request ihdsTest className=lgen DBHashTableFormHandler   request ihdsTest loopNames=works  #section   request ihdsTest works class_request className=lgen GenericTableHandler   r cha138/Article/program/Java/ky/201311/28233

相关参考

知识大全 Tomcat配置多数据源

Tomcat配置多数据源  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  测试的tomcat为ap

知识大全 详细介绍在tomcat中配置数据源原理

  转摘请注明出处  作者:baggio  来源:  本文地址;  关键词DataSource(数据源)Tomcat连接池  前言  本文根据实例详细介绍了如何在tomcat中配置数据源网上此类文章很

知识大全 Tomcat 的数据库连接池设置与应用

Tomcat的数据库连接池设置与应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!.将数据库驱动程

知识大全 开源技术之Tomcat数据源配置总结

开源技术之Tomcat数据源配置总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  成功配置环境

知识大全 Tomcat下配置MySQL数据库连接池

Tomcat下配置MySQL数据库连接池  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在$CA

知识大全 Tomcat5.5数据库连接池配置

Tomcat5.5数据库连接池配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!猫咪正不断把自己B

知识大全 tomcat的sql server数据源的配置

  ApacheTomcat/    把jdbc包拷贝到%TOMCAT_HOME%/mon/lib下面并将jdbc包加入到系统变量classpath    serverxml的配置    connec

知识大全 在 tomcat 5 中配置数据库连接池(DBCP)

在tomcat5中配置数据库连接池(DBCP)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首

知识大全 基于tomcat5.5的数据库连接池环境设置

  安装tomcat的adminpackagetomcat版本中的admin没有默认安装先下载adminpackagejakartatomcatadminzip或者jakartatomcatadmin

知识大全 Tomcat5配置Mysql JDBC数据库连接池

Tomcat5配置MysqlJDBC数据库连接池  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!