`
旁边的手
  • 浏览: 67111 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XML转换的JSP实现

    博客分类:
  • XML
阅读更多

一、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_02\lib\dt.jar;c:\j2sdk1.4.0_02\lib\tools.jar;”。PATH设置为“.;c:\j2sdk1.4.0_02\bin;”。

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

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 SERVE
R数据库动态填充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的桌面应用程序

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

字段名

注释

类型

是否为空

Name

姓名

varchar(12)

NOT NULL

ID

ID

int

NOT NULL

Company

公司

varchar(30)

NOT NULL

Email

TEL

varchar(15)

NOT NULL

 

分享到:
评论

相关推荐

    讲xml转换成代码

    因此,从XML转换为代码,通常是指将XML元素映射到类,属性映射到类的成员变量,而元素内容则可能对应于方法或变量的初始值。 在Delphi中,我们可以使用内置的XML处理库,如XMLDataModule或XMLDocument组件,来解析...

    JSP结合XML+XSLT将输出转换HTML

    接下来,我们需要创建一个XSLT文件,它定义了如何将XML转换为HTML。以下是一个简单的XSLT样式表示例,用于转换上述XML: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; 图书列表 书名 作者 年份...

    XML和JSP交互技术

    通过本文的介绍,我们了解到XML与JSP结合使用时,可以借助于SUN公司的JAXP API实现高效的交互。无论是使用SAX还是DOM,都能够根据实际需求选择最合适的处理方式。这种技术的应用不仅提高了数据处理的灵活性,也为Web...

    JSP XML实现谷歌天气预报

    **JSP(JavaServer Pages)XML实现谷歌天气预报** 在Web开发中,JSP是一种用于创建动态网页的技术,它允许开发者将Java代码嵌入到HTML页面中,以便于服务器端处理数据并返回给客户端。本项目是关于使用JSP和XML来...

    (jsp+servlet+xml)xml绑定

    本项目“(jsp+servlet+xml)xml绑定”着重于Java技术如何与XML进行交互,通过JSP(JavaServer Pages)和Servlet来实现XML文档的解组、编组以及动态内容修改。以下将详细介绍这个过程中的关键知识点。 首先,XML...

    动态Web数据库技术——基于JSP和XML技术实现

    在这个《动态Web数据库技术——基于JSP和XML技术实现电子教案》中,作者王红可能会详细讲解以下几个关键知识点: 1. JSP基础:包括JSP的生命周期、指令、脚本元素以及EL(Expression Language)和JSTL(JavaServer ...

    《动态Web数据库技术——基于JSP和XML技术实现》-王红-源代码-3314

    《动态Web数据库技术——基于JSP和XML技术实现》是一本深入探讨如何使用JSP(JavaServer Pages)和XML(eXtensible Markup Language)在Web开发中构建动态数据库应用的专业书籍。书中可能涵盖了以下几个核心知识点:...

    XSL.rar_ XML-JSP_.CHM_XML chm_xml xsl_xsl

    在Web开发领域,XSL与XML和JSP的结合使用,能够实现动态数据的高效处理和展现。 XML(Extensible Markup Language)是一种标记语言,用于存储和传输结构化数据。它的设计目标是传输和存储数据,而非显示数据。XML...

    XML数据操作接口 如何利用JSP操作XML文件

    与HTML不同,HTML提供的是一组预定义的标记,而XML则鼓励用户根据需求创建自己的标记,以实现数据的结构化表示。 XML文档的基本结构由XML声明开始,例如`&lt;?xml version="1.0" encoding="gb2312"?&gt;`。此声明定义了...

    jsp+xml留言板

    提交后,JSP脚本将这些数据转换为XML格式,并保存到XMLliuyan文件中。当需要显示留言时,JSP会读取这个XML文件,解析其中的数据,并将其呈现给用户。 为了实现这样的功能,开发者可能需要用到以下技术: 1. JSP标签...

    编写的留言网页,含XML、JSP

    同时,显示留言时,JSP会读取XML文件,将内容转换为HTML,呈现给用户。 **图片上传功能**:在网页中插入图片通常涉及到文件上传。在JSP中,这通常通过表单提交完成,用户选择本地的图片文件,然后通过POST请求发送...

    jsp和xml实现的在线相册系统

    通过上述讲解,我们可以了解到,基于JSP和XML的在线相册系统是如何利用这两种技术实现用户交互、数据存储和传输的。这样的系统既具备良好的扩展性,又兼顾了数据的结构化和易管理性。在实际开发过程中,还需要根据...

    jsp+xml的一个小demo

    XSLT(XSL Transformations)是一种转换XML文档的语言,JSP可以调用XSLT处理器来将XML数据转换为其他格式,如HTML或PDF。这通常通过Java的Transformer类实现,如`Transformer.transform(source, result)`。 6. **...

    JSP实现简单的聊天室

    本项目以"JSP实现简单的聊天室"为例,深入探讨了如何利用JSP、Ajax以及XML来创建一个实时交互的在线聊天平台。 首先,我们要理解JSP的基本工作原理。JSP文件在服务器上被转换为Servlet,然后由Servlet处理HTTP请求...

    java jsp生成中文xml

    在Java JSP(JavaServer Pages)环境中生成包含中文字符的XML...结合`Dom4jXmlOper.java`这个文件,可能是实现了上述步骤的一个具体类,通过阅读和理解这个类的源代码,可以进一步加深对Java JSP生成中文XML的理解。

    jsp+xml实现的个人日程管理系统,增删改查

    本系统采用JSP(JavaServer Pages)与XML(eXtensible Markup Language)技术,实现了对日程信息的存储、读取以及基本操作,如添加、删除、修改和查询。下面将详细介绍这两个核心技术在系统中的应用和实现方式。 **...

    JSP与XML与Servlet帮助

    JSP和XML可以协同工作,以实现更灵活的数据呈现和管理。XML可以作为数据源,JSP则用于解析和展示这些数据。通过使用JSP的JSTL(JavaServer Pages Standard Tag Library)或DOM、SAX等XML解析器,JSP页面可以直接处理...

    高级WEB编程技术(JSP与XML)教学网页

    4. **XPath与XSLT**:XPath用于在XML文档中查找节点,而XSLT(eXtensible Stylesheet Language Transformations)则用于转换XML文档,实现数据的格式化和重组。 5. **XML在Web中的应用**:XML常用于Web服务(如SOAP...

    JSP基于dom解析xml实例详解.docx

    在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而XML(eXtensible Markup Language)则是一种数据交换和存储格式。DOM(Document Object Model)是处理XML的一种常用方法,它将XML文档...

Global site tag (gtag.js) - Google Analytics