Zeus可以将JAVA对象与XML文件进行绑定,绑定使数据在J2EE中的应用更加方便。本文主要介绍Zeus的编译与使用。对绑定过程中使用的DTD和XML文件也有说明。
1、ZEUS简介
Enhydra是以生长于美国加利福尼亚海边的小水獭命名的非营利组织的名字。从但与著名的Apache不同,Enhydra致力于围绕Application Server的电子商务解决方案的研究。
Zeus就是Enhydra开发的众多的工具软件中的一个,功能是对JavaObject和XML进行数据绑定。它可以将任意的XML文件转化为对应的JavaObject文件,并且将数据方便的在这两种形式之间转换。Zeus最新版本是Zeus1.0 Beta 3.5,由于是完全的源码开放,可以到 http://zeus.enhydra.org/software/downloads/index.html下载源代码后自己编译。
2、预备知识
2.1 用XML作为数据载体
XML(Extensible Markup Language)由W3C组织制定并得到世界上几乎所有大公司的支持。XML是一种非常灵活的文本格式,与HTML相比,XML延续了其简单、易懂的语法,但是却有了更大的灵活性和扩展能力。例1是一段描述Customer信息的XML文件,作为描述数据的语言,XML的组织形式很自由且表述清晰。
<?xml version="1.0" encoding="GBK"?>
<Customer Customer_No= "00001">
< Name>李俊</ Name>
<Id_No>210106421016001</Id_No>
<Sex >男</Sex>
<Birth_Place>大连</Birth_Place>
<Birth_Date>1942-10-16</Birth_Date>
<Nationality>中国</Nationality>
<Education>高中</Education>
<Address>大连市沙河口</Address>
<Contact_Info Id = "00001">
<Zip_Code>116001</Zip_Code>
<Tel_No>2645677</Tel_No>
</Contact_Info>
</Customer>
例1:描述Customer的XML文件
这段XML结构很清晰:描述的是一个"顾客"实体,这个实体有其属性:姓名、身份证号、性别、出生地、生日、出生地、联系方式(邮编、电话)等。
第一行表述此XML文件的版本是1.0,用的是"GBK"的编码方式(如果要解析中文,GBK或GB2312是必须的)。、是的子标记。而在< Contact>中还可以继续包含子标记:、。用户自定义tag的XML语言给了用户足够的自由度表示数据,但是也为显示和解析带来了难度,为了解决这一问题,W3C在格式控制和标记定义上对XML加以限制。例如就是一对不合格的标记。
2.2 DTD定义数据
DTD(Document Type Definition)目的是定义XML文档中的元素和各元素间的关系。DTD可以与应用它的XML共存在一个文件中,也可以单独成为一个文件。例2是一个描述例1所述的xml文件的DTD文件。
<?xml version="1.0" encoding="GBK"?>
<!ELEMENT Customer
(Name?,Id_No?,Sex?,Birth_Place?,
Birth_Date?,Nationality?, Education?,
Contact_Info?>
<!ATTLIST Customer
Customer_No CDATA #REQUIRED
>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Id_No (#PCDATA)>
<!ELEMENT Sex (#PCDATA)>
<!ELEMENT Birth_Place (#PCDATA)>
<!ELEMENT Birth_Date (#PCDATA)>
<!ELEMENT Nationality (#PCDATA)>
<!ELEMENT Education (#PCDATA)>
<!ELEMENT Contact_Info
(Zip_Code?,Tel_No?)>
<!ATTLIST Contact_Info
id CDATA #REQUIRED
>
<!ELEMENT Zip_Code (#PCDATA)>
<!ELEMENT Tel_No (#PCDATA)>
例2:DTD文件
无规矩不成方圆,例2的DTD文件定义了例1的XML描述的Customer元素,通过DTD的定义,XML中的标记都被赋予了意义,并且很好的解释了Customer与其它元素之间的关系。DTD文件的存在使XML中的数据有了规定的形式,二者由如此紧密地联系容易联想到另外一种重要的数据组织方式--数据库的表中的字段和数据。
DTD-XML这种与表结构-数据类似的结构为这两种技术的相互转换提供了天然的方便条件,借助于DTD,可以方便的将表中的数据用XML表示。
3、编译你的Zeus
下载下来的Zeus是一个zip文件,如果选择的是源代码下载,就必须首先编译才能够使用。本文介绍zeus的使用,首先从源代码的编译说起。
编译的方法在下载的docs文件夹中有详尽的描述,作为Java技术阵营的一份子,Zeus在将自己完全奉献的同时也使用了其他的一些杰出的Java工具。比如编译就使用了Apache的Ant。可以在Zeus\lib下找到Ant.jar文件。
在编译之前唯一要做的事就是设定好操作系统的JAVA_HOME环境变量。例如在Windows系统,如果JDK安装在D:/jdk1.3.1,则运行set JAVA_HOME = D:/jdk1.3.1。
完成了准备工作就可以开始编译zeus,Ant本身是易于使用的编译工具,build.xml文件可以设定所有编译的细节和文件的组装。Zeus的编译文件位于根目录下的build.xml,这个XML文件包含了对Zeus编译并组装zeus.jar文件的一切细节而且有很高的可读性。
确定在zeus的根目录下,运行./bin/build.bat targets,Ant可以找到位于当前目录下的build.xml文件,如果不输入任何参数,ant会输出提示要你输入编译targets:
compile:编译zeus的所有源代码,并将之放置于build\classes下;
bin:将原src\bin下的文件拷到build\bin下,原lib目录下的jar文件拷到build\lib下并将组合好的zeus.jar置于此文件夹下;
doc:编译javadoc,并将结果拷到bin\docs\apidoc\下。
sample和test分别用于编译例程和测试代码。如果不想一步一步编译,可以将targers参数设为all,这样ant就会以正确的次序为你自动编译好所有的targets。编译后的会出现一个build文件夹,所有编译好的文件都在这个文件中。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有