⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jaxb.htm

📁 这是一个实现登陆的页面程序
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
·你还可以通过(File)菜单中的“open”子菜单,选择以前保存过的图形文件,将它显示在画布上。</P>
<P><STRONG>3. JAXB使用过程分析</STRONG></P>
<P>·下载JAXB开发工具包</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JAXB1.0 
的正式版本的一个实现(大家一定要记住,JAXB只是一个标准,Sun公司提供的此工具包只能说是这个标准的一个实现)已经发布了。由于XML在Web 
Services中的大量应用,所以,JAXB1.0作为Web Services 开发包的一部分,可以从WSDP1.1 
下载。其中jaxb包含在jaxb-1.0子目录下。</P>
<P>·设置环境变量 </P>
<P>&nbsp;&nbsp;&nbsp; 
要使用JAXB,在下载JAXB开发包以后,还要设置一些环境变量,主要是设置classpath的路径,以提供JAXB包所带的库文件的位置。一般来说,可以写一个专门用来设置环境变量的执行文件。例如,在Windows 
上可以写这样一个setenv.bat的文件:</P>
<P>&nbsp;</P>
<P>set JAVA_HOME=c:\application\java\jdk1.4.1_01<BR>set 
JWSDP_HOME=c:\application\wsdp1.1<BR>set JAXB_HOME=%JWSDP_HOME%\jaxb-1.0<BR>set 
JAXB_LIBS=%JAXB_HOME%\lib<BR>set JAXP_LIBS=%JWSDP_HOME%\jaxp-1.2.2\lib<BR>set 
JWSDP_LIBS=%JWSDP_HOME%\jwsdp-shared\lib</P>
<P>set PATH=%JAXB_HOME%\bin;%JWSDP_HOME%\jwsdpshared\bin;%PATH%</P>
<P>set CLASSPATH=%JAXB_LIBS%\jaxb-<A 
href="http://www.itisedu.com/phrase/200604241228185.html" 
target=_new>api</A>.jar;%JAXB_LIBS%\jaxb-ri.jar;%JAXB_LIBS%\jaxb-xjc.jar;%JAXB_LIBS%\jaxb-libs.jar;%JAXP_LIBS%\jaxb-api.jar;%JAXP_LIBS%\endorsed\xercesImpl.jar;%JAXP_LIBS%\endorsed\xalan.jar;%JAXP_LIBS%\endorsed\sax.jar;%JAXP_LIBS%\endorsed\dom.jar;%JWSDP_LIBS%\jax-qname.jar;%JWSDP_LIBS%\namespace.jar;.</P>
<P>·确定XML Schema</P>
<P>&nbsp;&nbsp;&nbsp; 要确定XML 
Schema意味着你要确定一个规则,来约束你的XML文档,使所有符合这个规则的XML文档看上去都很类似。例如,在这个例子中,我们希望XML文档的格式如下:</P>
<P><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><BR><SHAPECONTAINER><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<XPOSITION>185</XPOSITION> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<YPOSITION>83</YPOSITION> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPENAME>circle</SHAPENAME> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPECOLOR>red</SHAPECOLOR> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SHAPE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<XPOSITION>169</XPOSITION> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<YPOSITION>177</YPOSITION> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPENAME>circle</SHAPENAME> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPECOLOR>green</SHAPECOLOR> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SHAPE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<XPOSITION>358</XPOSITION> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<YPOSITION>155</YPOSITION> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPENAME>rect</SHAPENAME> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<SHAPECOLOR>green</SHAPECOLOR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SHAPE><BR></SHAPECONTAINER></P>
<P>&nbsp;&nbsp;&nbsp; 
文如其意,用不着太多的解释,大家就能明白上面的XML文档所包含的意思。<SHAPECONTAINER>表示了画布,在画布中有各种各样的形状,每个形状都包含了一些显示信息,例如x,y坐标,形状的类型和颜色等。在应用程序中想要操纵此XML文档,还要根据这个XML文档,产生一个Schema文档。例如:(此schema下载)</P>
<P><xsd:schema 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="xsd:string" 
name="appversion"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="ShapeContainerType" 
name="shapeContainer"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:complexType 
name="ShapeContainerType"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:sequence><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="ShapeType" name="shape" maxOccurs="unbounded" 
minOccurs="1"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:sequence><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:complexType><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:complexType 
name="ShapeType"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:sequence><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="xsd:int" 
name="xposition"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="xsd:int" 
name="yposition"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="ShapeNameType" 
name="shapename"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="ShapeColorType" 
name="shapecolor"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:sequence><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:complexType><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <xsd:simpleType 
name="ShapeColorType"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:restriction 
base="xsd:string"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:enumeration 
value="green"></xsd:enumeration><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:enumeration 
value="red"></xsd:enumeration><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:restriction><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:simpleType><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <xsd:simpleType 
name="ShapeNameType"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:restriction 
base="xsd:string"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:enumeration 
value="circle"></xsd:enumeration><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:enumeration 
value="rect"></xsd:enumeration><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:restriction><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:simpleType><BR></xsd:schema></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; 这个Schema描述了对xml文档的约束。例如,</P>
<P>&nbsp;&nbsp;&nbsp; <xsd:complexType 
name="ShapeContainerType"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:sequence><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="ShapeType" name="shape" maxOccurs="unbounded" 
minOccurs="1"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:sequence><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:complexType></P>
<P>&nbsp;&nbsp;&nbsp; 它规定了<SHAPECONTAINER>这个节点内可以包含一个或多个<SHAPE>的节点。而&nbsp;&nbsp; 
</P>
<P><xsd:complexType name="ShapeType"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:sequence><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="xsd:int" 
name="xposition"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="xsd:int" 
name="yposition"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="ShapeNameType" 
name="shapename"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<xsd:element type="ShapeColorType" 
name="shapecolor"></xsd:element><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</xsd:sequence><BR>&nbsp;&nbsp; </xsd:complexType></P>
<P>&nbsp; 则规定了每个<SHAPE>节点必须包含x,y坐标、形状类型和颜色等属性。</P>
<P>&nbsp; 
在schema的其他部分还规定了“颜色”属性由“红色”和“绿色”组成,形状“类型属性”由“圆形”和“方形”组成。另外,在Schema中还使用了一些专用的描述符,例如“complexType”,“simpleType”,“element”,“sequence”以及大量的"NameSpace"的知识,我就不一一介绍了,想要详细了解XML 
Schema,请访问“参考资料”。</P>
<P>&nbsp; 
Schema和XML文档之间的关系,就好象Java中类与实例的关系。每个符合schema的XML文档,都是这个Schema的一个实例;而Schema本身是一个模板,它规定了XML文档应该是什么样的。</P>
<P>·使用编译工具生成相应的Java类</P>
<P>&nbsp;&nbsp;&nbsp; 
有了Schema文件以后,我们就可以利用JAXB工具包,让它来替我们生成操纵符合这个Schema规定的所有XML实例文档的所有Java源代码。</P>
<P>如果已经设置好了环境变量的话(请参考“设置环境变量”),那么只需要运行JAXB包所带的“xjc”运行程序,例如</P>
<P>%JAXB_HOME%\bin\xjc.bat demo.xsd -d src -p epri.jaxb</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; 其中&nbsp;&nbsp; </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
·%JAXB_HOME%是你安装JAXB工具包的位置,通常在jwsdp工具包的子目录下。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ·demo.xsd 是Schema的文件名,一般以xsd作为文件名的后缀。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ·-d&nbsp; 的选项,是指定系统生成的Java源代码所放置的目录</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ·-p&nbsp; 的选项,是指定系统生成的Java源代码所在的Java 
Package的名称。</P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -