|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,dom|js|xml|数据|数据库|转换1、JDOM先容
我们晓得DOM是用于与平台和言语有关的体例暗示XML文档的官方W3C尺度,使用DOM和SAXAPI能够剖析和处置XML文档。这里我们先容的JDOM是基于树操纵的纯JAVAAPI,应当说它供应的是一套用于剖析、创立、处置和完成XML的办理计划。这些API比DOM和SAXAPI供应的办法更加直不雅,关于有JAVA履历的程序员将会发明JDOM十分简单把握。JDOM处置XML的体例比DOM简单的多,而且它的功效比利用SAX加倍壮大。
JDOM的外部逻辑布局基础上与DOM的不异,好比具有Document、Element、Comment等文档节点范例,个中每个JDOM文档必需有一个Document节点,而且为节点树的根节点。该根节点能够有子节点大概叶子节点如Comment、Text等。JDOM文档中的每个节点范例均对应格局优秀的XML文傍边的没一个元素。这也就为我们使用JDOM转换数据库到XML文档供应了可操纵的根据。
JDOM的长处:
由JDOM的文档声明我们将会很分明的看出使用JDOM的上风地点。JDOM文档声明以下“JDOM援用了20/80准绳,即便用20%的精神办理80%的JAVA/XML成绩”。
●JDOM是用JAVA开辟并为JAVA供应服务的,它相沿了JAVA代码的标准和类库;
●在浩瀚编程言语中,JAVA是利用XML的优异平台,XML又是JAVA使用的优异数据暗示办法。JDOMAPI是纯JAVAAPI关于JAVA开辟职员来讲更简单上手;
●JDOMAPI比DOM所供应的办法更加直不雅,同时简化了与XML的交互。比利用DOM更快。
org.jdom是用于JAVAAPI操纵的JDOM工具包。
在org.jdom中,供应了Document、Element、Comment、DocType、Attribute、Text等存JAVA类,这些类均是会见和操纵JDOM文档所必需的。我们能够使用这些类创立、遍历、修正JDOM文档。
在org.jdom.output中,供应了DOMOutputter、XMLOutputter,用于处置JDOM树的DOM树情势、XML文档情势输入、打印等。
2、情况设置
在我的WINDOWS2000体系平台上接纳TOMCAT4.1.18、JDK1.4.0_02作为开辟和测试平台。
经由过程“我的电脑”的“初级”属性增加以下两个情况设置CLASSPATH设置为:“.;c:j2sdk1.4.0_02libdt.jar;c:j2sdk1.4.0_02libools.jar;”。PATH设置为“.;c:j2sdk1.4.0_02in;”。
SQLSERVERJDBC驱动:mssqlserver.jar放进TOMCAT的LIB目次下。
3、取得与安装JDOM
因为今朝JDOM并没有包括在SUN的JDK中(我想不久的未来JDOM一定会成为SUNJDK的一部分),我们必需手工下载与设置JDOM的情况。
在http://www.jdom.org能够下载JDOM的最新版本。这里下载的是JDOMbeta8。下载jdom-b8.zip后解紧缩,JDOM的jar文件就是build目次下的文件jdom.jar,将上述文件拷贝到J2SDK1.4.0_02目次下的jre/lib/ext目次下。
4、使用JDOM完成SQLSERVER数据库到XML的转换
1、数据库、表的创立
这里使用一个转换主顾信息的例子??“主顾基础信息”。我们是把数据安排于MICROSOFTSQLSERVER2000数据库中,然后使用JSP和JDOM手艺静态天生XML实例文档。
我们事前MicrosoftSQLServer数据库CUSTOM中创立了一个数据表--CUSTOM,其数据布局以下表所示:
字段名
正文
范例
是不是为空
Name
姓名
varchar(12)
NOTNULL
ID
ID
int
NOTNULL
Company
公司
varchar(30)
NOTNULL
Email
TEL
varchar(15)
NOTNULL
往数据库中输出以下几笔记录:
Name
ID
Company
Email
刘氏
001
公司1
liu@yantai.com
蒋氏
002
公司2
jiang@yantai.net
2、数据源设置
数据源(ODBCSource)实践上就是界说数据的来历。数据源的设置办法是:[入手下手]-〉[设置]-〉[把持面板]-〉[办理工具]-〉[数据源(odbc)]-〉[SystemDSN]->[add]->[SQLServer],分离设置服务器名(CUSTOM地点服务器)、数据库名(CUSTOM)、数据源称号(此处定为DB_CUSTOM)、用户名(lgz)、用户口令(空),数据源就设置好了。
3、代码的编写
上面入手下手我们的编写JSP代码转换事情,代码将经由过程挪用JDOM静态天生XML布局,然后借助JDBC会见SQLSERVER数据库静态添补XML内容。
<%@pagecontentType="text/html;charset=GBK"%>
<HTML>
<HEAD>
<TITLE>用JDOM完成数据库到XML的转换</TITLE>
</HEAD>
<BODY>
<%@pageimport="org.jdom.*"%>
<%@pageimport="java.*"%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Stringurl="jdbc:microsoft:sqlserver://10.40.14.54:1433;DatabaseName=DB_CUSTOM";
//载进jdbcodbc的驱动程序
Stringuser="lgz";
Stringpassword="lgz";
Connectionconn=DriverManager.getConnection(url,user,password);//毗连数据库
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//创立一个statement
Stringsql="select*fromclient";//界说查询的SQL语句
ResultSetrs=stmt.executeQuery(sql);//实行查询
Documentdocument=newDocument(newElement("接洽人列表"));//创立文档
ResultSetMetaDatarsmd=rs.getMetaData();//猎取字段名
intnumberOfColumns=rsmd.getColumnCount();//猎取字段数
inti=0;
while(rs.next()){//将查询了局掏出
Elementelement0=newElement("接洽人");//创立元素天生JDOM树
document.getRootElement().addContent(element0);
for(i=1;i<=numberOfColumns;i++)
{Stringdate=newString(rs.getString(i).getBytes("ISO-8859-1"),"gb2312");//代码转换
Elementelement=newElement(rsmd.getColumnName(i)).setText(date);
element0.addContent(element);
}
}
rs.close();//封闭了局集
stmt.close();//封闭statement
conn.close();//封闭毗连
XMLOutputteroutp=newXMLOutputter();
outp.output(document,newFileOutputStream("d:data.xml"));//输入XML文档
out.print("XML文档天生终了!");
%>
<ahref="file:///d|/data.xml">点击翻开发生的XML文档</a>
</BODY>
</HTML>
4、程序的运转
经由过程扫瞄器的8080端口运转该JSP,将发生预期的xml文件。
5、使用剖析
XML作为数据互换的尺度,失掉了愈来愈普遍的使用。这篇文章分析了数据库到XML转换的基础办法,从而使各别构平台和各类格局的数据举行数据互换成为大概。当我们可以把原始的数据转化为XML格局化的情势,就可以够以丰厚的HTML的格局暗示出来。这里枚举两个方面的使用:
1、XML使用服务器:
XML使用服务器实践上是撑持XML的Web使用服务器,它们一般是模板驱动的,经由过程在一个脚本言语中嵌进利用SQL语句来提取数据并静态构建XML文档。
2、基于XML的桌面使用
我们晓得经由过程XSL能够把不异的数据以分歧的数据情势提交给终端客户,一个XSL文件形貌了数据的显现体例,你能够把很多XSL和统一个XML文档相连来供应分歧的基于HTML的暗示,如许现实上,我们就能够创建基于XML的桌面使用程序
接纳这类办法次要有两个长处,起首,你能够以平台和言语自力的体例来操纵数据,其次,不必要编程你就能够完成对一样数据的分歧的视图暗示。
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。 |
|