亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

應用JDOM處理數據庫到XML轉換的JSP實現

2019-11-18 19:54:04
字體:
來源:轉載
供稿:網友

一、JDOM介紹

我們知道DOM是用于與平臺和語言無關的方式表示xml文檔的官方W3C標準,利用DOMSAX API可以解析和處理XML文檔。這里我們介紹的JDOM是基于樹操作的純java API,應該說它提供的是一套用于解析、創建、處理和實現XML的解決方案。這些APIDOMSAX 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 APIDOM所提供的方法更為直觀,同時簡化了與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 放入TOMCATLIB目錄下。

三、獲得與安裝JDOM

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

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

四、利用JDOM實現SQL SERVER 數據庫到XML的轉換

1、數據庫、表的創建

這里應用一個轉換顧客信息的例子——“顧客基本信息”。我們是把數據放置于MICROSOFT SQL SERVER 2000數據庫中,然后運用jspJDOM技術動態生成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.

%>

<a href="file:///d|/data.xml">點擊打開產生的XML文檔 </a>

</BODY>

</HTML>

4、程序的運行

通過瀏覽器的8080端口運行該JSP,將產生預期的xml文件。

五、應用分析

XML作為數據交換的標準,得到了越來越廣泛的應用。這篇文章闡明了數據庫到XML轉換的基本方法,從而使各異構平臺以及各種格式的數據進行數據交換成為可能。當我們能夠把原始的數據轉化為XML格式化的形式,就能夠以豐富的HTML的格式表示出來。這里列舉兩個方面的應用:

1、  XML應用服務器:

XML應用服務器實際上是支持XMLWeb應用服務器,它們通常是模板驅動的,通過在一個劇本語言中嵌入使用SQL語句來提取數據并動態構建XML文檔。

2 基于XML的桌面應用

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久中文字幕| 欧美激情二区三区| 欧美激情videoshd| 欧美性猛交丰臀xxxxx网站| 色综合久综合久久综合久鬼88| 国外成人免费在线播放| 久久av红桃一区二区小说| 欧美激情精品久久久久久蜜臀| 亚洲午夜av电影| 亚洲美女av在线播放| 欧美成人小视频| 欧美在线视频a| 欧美激情网站在线观看| 国产欧美精品一区二区三区介绍| 久久久久久亚洲精品| 国产成人精品在线观看| 久久精品国产一区| 国产精品69精品一区二区三区| 精品国内亚洲在观看18黄| 色悠悠国产精品| 亚洲欧美日韩一区二区在线| 国产免费成人av| 97精品国产97久久久久久春色| 国产精品久久久久久av福利| 亚洲人成网站在线播| 国产欧美精品日韩| 欧美www视频在线观看| 国产精品久久久久久久久| 欧美性xxxx极品hd欧美风情| 亚洲毛茸茸少妇高潮呻吟| 国产精品三级美女白浆呻吟| 国产精品久久久久9999| 久久综合网hezyo| 日本人成精品视频在线| 久久久久久久999精品视频| 欧美激情第99页| 国产日韩av高清| 日韩av片电影专区| 亚洲成av人片在线观看香蕉| 日韩电影在线观看永久视频免费网站| 久久99久久99精品免观看粉嫩| 一本大道香蕉久在线播放29| 黑人精品xxx一区| 在线性视频日韩欧美| 91久久久久久久一区二区| 欧美日韩精品在线观看| 成人黄色免费网站在线观看| 人九九综合九九宗合| 91超碰中文字幕久久精品| 亚洲美女在线视频| 亚洲精品在线视频| 亚洲一区二区三区四区视频| 欧美日韩不卡合集视频| 国产精品视频在线播放| 国产在线久久久| 亚洲第一级黄色片| 亚州国产精品久久久| 国产亚洲欧美另类中文| 国产成人aa精品一区在线播放| 亚洲综合国产精品| 中文字幕av一区二区三区谷原希美| 欧美专区国产专区| 狠狠色香婷婷久久亚洲精品| 亚洲第五色综合网| 久久激情视频久久| 欧美亚洲国产视频| 正在播放欧美一区| 久久久久久久香蕉网| 国产精品高清网站| 中文字幕欧美视频在线| 欧美日韩在线观看视频| www国产亚洲精品久久网站| 国产精品男人爽免费视频1| 自拍偷拍亚洲欧美| 国产精品狼人色视频一区| 国产精品成人免费电影| 欧美电影在线观看| 成人午夜高潮视频| 日产日韩在线亚洲欧美| 久久精品国产精品| 成人午夜两性视频| 国产97在线观看| 久久久999国产| 欧美在线视频网站| 国产欧美 在线欧美| 日韩免费视频在线观看| 中文字幕精品影院| 国产精品一区二区电影| 国产欧美韩国高清| 日韩不卡中文字幕| 最新国产成人av网站网址麻豆| 日韩欧美亚洲一二三区| 亚洲综合社区网| 久久人体大胆视频| 久久亚洲综合国产精品99麻豆精品福利| 亚洲二区在线播放视频| 日韩av123| 欧美激情精品久久久久| 亚洲国产中文字幕在线观看| 欧美一区第一页| 亚洲精品999| 91精品国产高清自在线| 久久久久久久久久国产精品| 欧美日韩性生活视频| 亚洲精品网址在线观看| 亚洲电影免费在线观看| 中文字幕亚洲专区| 亚洲午夜av久久乱码| 亚洲精品国偷自产在线99热| 中文字幕免费精品一区| 欧美乱大交做爰xxxⅹ性3| 欧美精品在线视频观看| 欧美高清视频免费观看| 精品无码久久久久久国产| 国产精品色视频| 久久久久99精品久久久久| 大伊人狠狠躁夜夜躁av一区| 日韩在线欧美在线国产在线| 亚洲第一级黄色片| 国产精品成人av在线| 中国日韩欧美久久久久久久久| 久久久久久中文字幕| 98精品在线视频| 欧美激情网站在线观看| 中文字幕亚洲欧美一区二区三区| 国外成人免费在线播放| 欧美高清第一页| 亚洲欧洲免费视频| 国产精品美女999| 97精品视频在线观看| 国产精品成人va在线观看| 欧美在线视频播放| 92版电视剧仙鹤神针在线观看| 久久精品精品电影网| 久久91亚洲精品中文字幕奶水| 久久综合伊人77777尤物| 亚洲精品v天堂中文字幕| 欧美成人午夜免费视在线看片| 日韩av一区二区在线观看| 中文字幕亚洲无线码a| 成人激情春色网| 国产精品视频网址| 欧美又大又硬又粗bbbbb| 亚洲欧洲国产伦综合| 中文字幕免费国产精品| 九色91av视频| 欧美大片大片在线播放| 一区二区日韩精品| 91国内产香蕉| 亚洲国产一区二区三区在线观看| 成人黄色短视频在线观看| 97国产在线视频| 精品中文字幕在线| 久久天天躁狠狠躁老女人| 日本久久久久久| 最近中文字幕mv在线一区二区三区四区| 狠狠色狠色综合曰曰| 亚洲精品色婷婷福利天堂| 国产精品久久久久一区二区| 国产精品久久久一区| 欧美韩国理论所午夜片917电影| 精品一区精品二区| 美女av一区二区三区| 国产精品久久久久久久久久久不卡|