转载

JSP实现JDOM处理数据库到XML转换的应用(1)

一、JDOM介绍

我们知道DOM是用于与平台和语言无关的方式表示XML文档的官方W3C标准,利用DOM和SAX API可以解析和处理XML文档。这里我们介绍的JDOM是基于树操作的纯JAVA API,应该说它提供的是一套用于解析、创建、处理和实现XML的解决方案。

这些API比DOM和SAX API提供的方法更为直观,对于有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应用的优秀数据表示方法。JDOM API是纯JAVA API对于JAVA开发人员来说更容易上手;

● JDOM API比DOM所提供的方法更为直观,同时简化了与XML的交互。比使用DOM更快。

org.jdom是用于JAVA API操作的JDOM工具包。

在org.jdom中,提供了Document、Element 、Comment 、DocType、Attribute、Text等存 JAVA 类,这些类均是访问和操作JDOM文档所必须的。我们可以利用这些类创建、遍历、修改JDOM文档。

在org.jdom.output中,提供了DOMOutputter、XMLOutputter,用于处理JDOM树的DOM树形式、XML文档形式输出、打印等。

二、环境配置

在我的WINDOWS2000系统平台上采用TOMCAT4.1.18、JDK1.4.0_02作为开发和测试平台。

通过“我的电脑”的“高级”属性添加如下两个环境设置CLASSPATH设置为:“.;c:j2sdk1.4.0_02libdt.jar;c:j2sdk1.4.0_02lib ools.jar;”。PATH设置为“.;c:j2sdk1.4.0_02in;”。

SQL SERVER JDBC驱动:mssqlserver.jar 放入TOMCAT的LIB目录下。

三、获得与安装JDOM

由于目前JDOM并没有包含在SUN的JDK中(我想不久的将来JDOM必然会成为SUN JDK的一部分),我们必须手工下载与设置JDOM的环境。
在http://www.jdom.org可以下载JDOM的最新版本。这里下载的是JDOM beta8。下载jdom-b8.zip后解压缩,JDOM的jar文件就是build目录下的文件jdom.jar,将上述文件拷贝到J2SDK1.4.0_02目录下的jre/lib/ext目录下。

内容导航

原文:JSP实现JDOM处理数据库到XML转换的应用(1) 返回开发首页

四、利用JDOM实现SQL SERVER 数据库到XML的转换

1、数据库、表的创建

这里应用一个转换顾客信息的例子??“顾客基本信息”。我们是把数据放置于MICROSOFT SQL SERVER 2000数据库中,然后运用JSP和JDOM技术动态生成XML实例文档。

我们事先Microsoft SQL Server数据库CUSTOM中创建了一个数据表--CUSTOM,其数据结构如下表所示:

字段名

注释类型是否为空 Name 姓名 varchar(12) NOT NULL ID ID int NOT NULL Company 公司 varchar(30) NOT NULL Email TEL varchar(15) NOT NULL

往数据库中输入以下几条记录:

Name ID Company Email 刘氏 001 公司1 liu@yantai.com 蒋氏 002 公司2 jiang@yantai.net

2、数据源设置

数据源(ODBC Source)实际上就是定义数据的来源。数据源的设置方法是: [开始]-〉[设置]-〉[控制面板]-〉[管理工具]-〉[数据源(odbc)]-〉[System DSN]-〉[add]-〉[SQL Server],分别配置服务器名(CUSTOM所在服务器)、数据库名(CUSTOM)、数据源名称(此处定为DB_CUSTOM)、用户名(lgz)、用户口令(空),数据源就配置好了。

3、代码的编写

下面开始我们的编写JSP代码转换工作,代码将通过调用JDOM动态生成XML结构,然后借助JDBC访问SQL SERVER数据库动态填充XML内容。

〈%@page contentType="text/html;charset=GBK"%〉  〈HTML〉  〈HEAD〉  〈TITLE〉用JDOM实现数据库到XML的转换〈/TITLE〉  〈/HEAD〉  〈BODY〉  〈%@page import="org.jdom.*"%〉  〈%@page import="java.*"%〉  〈%  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();  String url="jdbc:microsoft:sqlserver://10.40.14.54:1433;DatabaseName=DB_CUSTOM";  //载入jdbc odbc的驱动程序  String user="lgz";  String password="lgz";  Connection conn= DriverManager.getConnection(url,user,password); //连接数据库  Statement stmt=conn.createStatement(  ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  //创建一个statement  String sql="select * from client"; //定义查询的SQL语句  ResultSet rs=stmt.executeQuery(sql); //执行查询  Document document=new Document(new Element("联系人列表"));//创建文档  ResultSetMetaData rsmd = rs.getMetaData(); //获取字段名  int numberOfColumns = rsmd.getColumnCount(); //获取字段数  int i=0;  while(rs.next()){ //将查询结果取出  Element element0=new Element("联系人"); //创建元素 生成JDOM树  document.getRootElement().addContent(element0);  for (i=1; i〈=numberOfColumns;i++)  { String date=new String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312");  //代码转换  Element element=new Element(rsmd.getColumnName(i)).setText(date);  element0.addContent(element);  }  }  rs.close(); //关闭结果集  stmt.close(); //关闭statement  conn.close(); //关闭连接  XMLOutputter outp = new XMLOutputter();  outp.output(document, new FileOutputStream("d:data.xml")); //输出XML文档  out.print("XML 文档生成完毕!");  %〉  〈a href="file:///d|/data.xml"〉点击打开产生的XML文档 〈/a〉  〈/BODY〉  〈/HTML〉  

内容导航

原文:JSP实现JDOM处理数据库到XML转换的应用(2) 返回开发首页

4、程序的运行

通过浏览器的8080端口运行该JSP,将产生预期的xml文件。

五、应用分析

XML作为数据交换的标准,得到了越来越广泛的应用。这篇文章阐明了数据库到XML转换的基本方法,从而使各异构平台以及各种格式的数据进行数据交换成为可能。当我们能够把原始的数据转化为XML格式化的形式,就能够以丰富的HTML的格式表示出来。这里列举两个方面的应用:

1、 XML应用服务器

XML应用服务器实际上是支持XML的Web应用服务器,它们通常是模板驱动的,通过在一个剧本语言中嵌入使用SQL语句来提取数据并动态构建XML文档。

2、 基于XML的桌面应用

我们知道通过XSL可以把相同的数据以不同的数据形式提交给终端客户,一个XSL文件描述了数据的显示方式,你可以把许多XSL和同一个XML文档相连来提供不同的基于HTML的表示,这样事实上,我们就可以建立基于XML的桌面应用程序

采用这种方法主要有两个优点,首先,你可以以平台和语言独立的方式来操作数据,其次,不需要编程你就可以实现对同样数据的不同的视图表示。

【责任编辑:red7 TEL:(010)68476606】

内容导航

原文:JSP实现JDOM处理数据库到XML转换的应用(3) 返回开发首页

一、JDOM介绍

我们知道DOM是用于与平台和语言无关的方式表示XML文档的官方W3C标准,利用DOM和SAX API可以解析和处理XML文档。这里我们介绍的JDOM是基于树操作的纯JAVA API,应该说它提供的是一套用于解析、创建、处理和实现XML的解决方案。

这些API比DOM和SAX API提供的方法更为直观,对于有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应用的优秀数据表示方法。JDOM API是纯JAVA API对于JAVA开发人员来说更容易上手;

● JDOM API比DOM所提供的方法更为直观,同时简化了与XML的交互。比使用DOM更快。

org.jdom是用于JAVA API操作的JDOM工具包。

在org.jdom中,提供了Document、Element 、Comment 、DocType、Attribute、Text等存 JAVA 类,这些类均是访问和操作JDOM文档所必须的。我们可以利用这些类创建、遍历、修改JDOM文档。

在org.jdom.output中,提供了DOMOutputter、XMLOutputter,用于处理JDOM树的DOM树形式、XML文档形式输出、打印等。

二、环境配置

在我的WINDOWS2000系统平台上采用TOMCAT4.1.18、JDK1.4.0_02作为开发和测试平台。

通过“我的电脑”的“高级”属性添加如下两个环境设置CLASSPATH设置为:“.;c:j2sdk1.4.0_02libdt.jar;c:j2sdk1.4.0_02lib ools.jar;”。PATH设置为“.;c:j2sdk1.4.0_02in;”。

SQL SERVER JDBC驱动:mssqlserver.jar 放入TOMCAT的LIB目录下。

三、获得与安装JDOM

由于目前JDOM并没有包含在SUN的JDK中(我想不久的将来JDOM必然会成为SUN JDK的一部分),我们必须手工下载与设置JDOM的环境。
在http://www.jdom.org可以下载JDOM的最新版本。这里下载的是JDOM beta8。下载jdom-b8.zip后解压缩,JDOM的jar文件就是build目录下的文件jdom.jar,将上述文件拷贝到J2SDK1.4.0_02目录下的jre/lib/ext目录下。

四、利用JDOM实现SQL SERVER 数据库到XML的转换

1、数据库、表的创建

这里应用一个转换顾客信息的例子??“顾客基本信息”。我们是把数据放置于MICROSOFT SQL SERVER 2000数据库中,然后运用JSP和JDOM技术动态生成XML实例文档。

我们事先Microsoft SQL Server数据库CUSTOM中创建了一个数据表--CUSTOM,其数据结构如下表所示:

字段名

注释类型是否为空 Name 姓名 varchar(12) NOT NULL ID ID int NOT NULL Company 公司 varchar(30) NOT NULL Email TEL varchar(15) NOT NULL

往数据库中输入以下几条记录:

Name ID Company Email 刘氏 001 公司1 liu@yantai.com 蒋氏 002 公司2 jiang@yantai.net

2、数据源设置

数据源(ODBC Source)实际上就是定义数据的来源。数据源的设置方法是: [开始]-〉[设置]-〉[控制面板]-〉[管理工具]-〉[数据源(odbc)]-〉[System DSN]-〉[add]-〉[SQL Server],分别配置服务器名(CUSTOM所在服务器)、数据库名(CUSTOM)、数据源名称(此处定为DB_CUSTOM)、用户名(lgz)、用户口令(空),数据源就配置好了。

3、代码的编写

下面开始我们的编写JSP代码转换工作,代码将通过调用JDOM动态生成XML结构,然后借助JDBC访问SQL SERVER数据库动态填充XML内容。

〈%@page contentType="text/html;charset=GBK"%〉  〈HTML〉  〈HEAD〉  〈TITLE〉用JDOM实现数据库到XML的转换〈/TITLE〉  〈/HEAD〉  〈BODY〉  〈%@page import="org.jdom.*"%〉  〈%@page import="java.*"%〉  〈%  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();  String url="jdbc:microsoft:sqlserver://10.40.14.54:1433;DatabaseName=DB_CUSTOM";  //载入jdbc odbc的驱动程序  String user="lgz";  String password="lgz";  Connection conn= DriverManager.getConnection(url,user,password); //连接数据库  Statement stmt=conn.createStatement(  ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  //创建一个statement  String sql="select * from client"; //定义查询的SQL语句  ResultSet rs=stmt.executeQuery(sql); //执行查询  Document document=new Document(new Element("联系人列表"));//创建文档  ResultSetMetaData rsmd = rs.getMetaData(); //获取字段名  int numberOfColumns = rsmd.getColumnCount(); //获取字段数  int i=0;  while(rs.next()){ //将查询结果取出  Element element0=new Element("联系人"); //创建元素 生成JDOM树  document.getRootElement().addContent(element0);  for (i=1; i〈=numberOfColumns;i++)  { String date=new String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312");  //代码转换  Element element=new Element(rsmd.getColumnName(i)).setText(date);  element0.addContent(element);  }  }  rs.close(); //关闭结果集  stmt.close(); //关闭statement  conn.close(); //关闭连接  XMLOutputter outp = new XMLOutputter();  outp.output(document, new FileOutputStream("d:data.xml")); //输出XML文档  out.print("XML 文档生成完毕!");  %〉  〈a href="file:///d|/data.xml"〉点击打开产生的XML文档 〈/a〉  〈/BODY〉  〈/HTML〉  

4、程序的运行

通过浏览器的8080端口运行该JSP,将产生预期的xml文件。

五、应用分析

XML作为数据交换的标准,得到了越来越广泛的应用。这篇文章阐明了数据库到XML转换的基本方法,从而使各异构平台以及各种格式的数据进行数据交换成为可能。当我们能够把原始的数据转化为XML格式化的形式,就能够以丰富的HTML的格式表示出来。这里列举两个方面的应用:

1、 XML应用服务器

XML应用服务器实际上是支持XML的Web应用服务器,它们通常是模板驱动的,通过在一个剧本语言中嵌入使用SQL语句来提取数据并动态构建XML文档。

2、 基于XML的桌面应用

我们知道通过XSL可以把相同的数据以不同的数据形式提交给终端客户,一个XSL文件描述了数据的显示方式,你可以把许多XSL和同一个XML文档相连来提供不同的基于HTML的表示,这样事实上,我们就可以建立基于XML的桌面应用程序

采用这种方法主要有两个优点,首先,你可以以平台和语言独立的方式来操作数据,其次,不需要编程你就可以实现对同样数据的不同的视图表示。

【责任编辑:red7 TEL:(010)68476606】

原文:JSP实现JDOM处理数据库到XML转换的应用 返回开发首页

正文到此结束
Loading...