久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

應用JDOM處理數據庫到XML轉換的JSP實現(xiàn)

 duduwolf 2005-09-24

一,、JDOM介紹

我們知道DOM是用于與平臺和語言無關的方式表示XML文檔的官方W3C標準,,利用DOMSAX API可以解析和處理XML文檔。這里我們介紹的JDOM是基于樹操作的純JAVA API,,應該說它提供的是一套用于解析,、創(chuàng)建、處理和實現(xiàn)XML的解決方案,。這些APIDOMSAX API提供的方法更為直觀,,對于有JAVA經驗的程序員將會發(fā)現(xiàn)JDOM非常容易掌握。JDOM處理XML的方式比DOM容易的多,,并且它的功能比使用SAX更加強大,。

JDOM的內部邏輯結構基本上與DOM的相同,比如具有Document,、Element,、Comment等文檔節(jié)點類型,其中每一個JDOM文檔必須有一個Document節(jié)點,,并且為節(jié)點樹的根節(jié)點,。該根節(jié)點可以有子節(jié)點或者葉子節(jié)點如CommentText等,。JDOM文檔中的每一個節(jié)點類型均對應格式良好的XML文當中的沒一個元素,。這也就為我們利用JDOM轉換數據庫到XML文檔提供了可操作的依據。

JDOM的優(yōu)點:

JDOM的文檔聲明我們將會很明顯的看出應用JDOM的優(yōu)勢所在,。JDOM文檔聲明如下“JDOM引用了20/80原則,,即使用20%的精力解決80%JAVA/XML問題”。

   JDOM是用JAVA開發(fā)并為JAVA提供服務的,,它沿用了JAVA代碼的規(guī)范和類庫,;

   在眾多編程語言中,,JAVA是使用XML的優(yōu)秀平臺,XML又是JAVA應用的優(yōu)秀數據表示方法,。JDOM API是純JAVA API對于JAVA開發(fā)人員來說更容易上手,;

   JDOM APIDOM所提供的方法更為直觀,同時簡化了與XML的交互,。比使用DOM更快,。

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

org.jdom中,,提供了Document,、Element Comment ,、DocType,、AttributeText等存 JAVA 類,,這些類均是訪問和操作JDOM文檔所必須的,。我們可以利用這些類創(chuàng)建、遍歷,、修改JDOM文檔,。

org.jdom.output中,提供了DOMOutputter,、XMLOutputter,,用于處理JDOM樹的DOM樹形式、XML文檔形式輸出,、打印等,。

二、環(huán)境配置

在我的WINDOWS2000系統(tǒng)平臺上采用TOMCAT4.1.18,、JDK1.4.0_02作為開發(fā)和測試平臺,。

通過“我的電腦”的“高級”屬性添加如下兩個環(huán)境設置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 放入TOMCATLIB目錄下,。

三、獲得與安裝JDOM

由于目前JDOM并沒有包含在SUNJDK中(我想不久的將來JDOM必然會成為SUN JDK的一部分),,我們必須手工下載與設置JDOM的環(huán)境,。

http://www.可以下載JDOM的最新版本。這里下載的是JDOM beta8,。下載jdom-b8.zip后解壓縮,,JDOMjar文件就是build目錄下的文件jdom.jar,將上述文件拷貝到J2SDK1.4.0_02目錄下的jre/lib/ext目錄下,。

四,、利用JDOM實現(xiàn)SQL SERVER 數據庫到XML的轉換

1,、數據庫、表的創(chuàng)建

這里應用一個轉換顧客信息的例子——“顧客基本信息”,。我們是把數據放置于MICROSOFT SQL SERVER 2000數據庫中,,然后運用JSPJDOM技術動態(tài)生成XML實例文檔。

我們事先Microsoft SQL Server數據庫CUSTOM中創(chuàng)建了一個數據表--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

[email protected]

蔣氏

002

公司2

[email protected]

2,、數據源設置

數據源(ODBC Source)實際上就是定義數據的來源。數據源的設置方法是: [開始]-[設置]-[控制面板]-[管理工具]-[數據源(odbc)]-[System DSN]->[add]->[SQL Server],,分別配置服務器名(CUSTOM所在服務器),、數據庫名(CUSTOM)、數據源名稱(此處定為DB_CUSTOM),、用戶名(lgz),、用戶口令(空),,數據源就配置好了,。

 

3、代碼的編寫

下面開始我們的編寫JSP代碼轉換工作,,代碼將通過調用JDOM動態(tài)生成XML結構,,然后借助JDBC訪問SQL SERVER數據庫動態(tài)填充XML內容。

<%@page contentType="text/html;charset=GBK"%>

<HTML>

<HEAD>

<TITLE>用JDOM實現(xiàn)數據庫到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);  

//創(chuàng)建一個statement

String sql="select * from client";   //定義查詢的SQL語句

ResultSet rs=stmt.executeQuery(sql);   //執(zhí)行查詢

Document document=new Document(new Element("聯(lián)系人列表"));//創(chuàng)建文檔

ResultSetMetaData rsmd = rs.getMetaData();  //獲取字段名

int numberOfColumns = rsmd.getColumnCount(); //獲取字段數

 int i=0;

 while(rs.next()){ //將查詢結果取出                       

    Element element0=new Element("聯(lián)系人");  //創(chuàng)建元素 生成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應用服務器實際上是支持XMLWeb應用服務器,,它們通常是模板驅動的,,通過在一個劇本語言中嵌入使用SQL語句來提取數據并動態(tài)構建XML文檔。

2,、 基于XML的桌面應用

我們知道通過XSL可以把相同的數據以不同的數據形式提交給終端客戶,,一個XSL文件描述了數據的顯示方式,你可以把許多XSL和同一個XML文檔相連來提供不同的基于HTML的表示,,這樣事實上,,我們就可以建立基于XML的桌面應用程序

采用這種方法主要有兩個優(yōu)點,,首先,你可以以平臺和語言獨立的方式來操作數據,,其次,,不需要編程你就可以實現(xiàn)對同樣數據的不同的視圖表示。

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多