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

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:20:32
字體:
來源:轉載
供稿:網友
 

一、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 nullididintnot nullcompany公司varchar(30)not nullemailtelvarchar(15)not null往數據庫中輸入以下幾條記錄:nameidcompanyemail劉氏001公司[email protected]蔣氏002公司[email protected]

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); //創建一個statementstring 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(); //關閉statementconn.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的桌面應用程序

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜宅男影院在线观看| 亚洲精品国产福利| 911国产网站尤物在线观看| 在线观看免费高清视频97| 久久国产精品久久精品| 国产91热爆ts人妖在线| 欧美日韩国产在线播放| 欧美激情综合色| www.色综合| 亚洲天堂av在线播放| 久久久久久久久久久91| 精品香蕉在线观看视频一| 欧美性黄网官网| 国产精品尤物福利片在线观看| 欧美视频在线观看免费网址| 不卡av电影院| 欧美成人全部免费| 91精品久久久久久久久久久久久| 成人免费高清完整版在线观看| 97超碰蝌蚪网人人做人人爽| 97在线视频国产| 精品福利视频导航| 国产精品a久久久久久| 97在线精品国自产拍中文| 欧美激情国产精品| 91麻豆国产语对白在线观看| 亚洲天堂开心观看| 欧美成人激情图片网| 欧美性感美女h网站在线观看免费| 日韩一区二区三区国产| 色无极影院亚洲| 亚洲精品短视频| 欧美日韩国产二区| 69av成年福利视频| 91综合免费在线| 日韩av中文在线| 亚洲白虎美女被爆操| 欧美激情videos| 亚洲国产精彩中文乱码av| 久99久在线视频| 欧美性猛交xxxx乱大交极品| 一本一本久久a久久精品牛牛影视| 日韩在线视频中文字幕| 国产精品嫩草影院一区二区| 性日韩欧美在线视频| 欧美激情在线一区| 亚洲精品国精品久久99热一| 欧美视频在线免费看| 色香阁99久久精品久久久| 色综合老司机第九色激情| 日韩精品在线播放| 国产中文日韩欧美| 69精品小视频| 亚洲精品国产综合久久| 欧美黑人一级爽快片淫片高清| 欧美大片网站在线观看| 欧美亚洲成人精品| 国产精品久久久久9999| 欧美日韩国产中文字幕| 日本亚洲欧美三级| 久久久久久欧美| 色综久久综合桃花网| 国产精品扒开腿做爽爽爽的视频| www.色综合| 亚洲国产另类久久精品| www.欧美免费| 色综合91久久精品中文字幕| 91亚洲精华国产精华| 亚洲精品久久久久久久久久久久| 91在线中文字幕| 日韩网站免费观看| 国产脚交av在线一区二区| 国产精品久久久久久久久免费看| 国产亚洲a∨片在线观看| 日韩中文字幕在线视频播放| 久久影视免费观看| 日韩精品免费在线观看| 亚洲欧美一区二区激情| 91国语精品自产拍在线观看性色| 欧美日韩亚洲精品一区二区三区| 国产精品视频成人| 精品欧美国产一区二区三区| 国产欧美va欧美va香蕉在线| 欧美做爰性生交视频| 国产原创欧美精品| 亚洲精品不卡在线| 不卡伊人av在线播放| 国产精品久久97| 青青a在线精品免费观看| 亚洲成人教育av| 久久亚洲国产精品| 久久久精品日本| 九九热精品视频国产| 欧美成人黑人xx视频免费观看| 亚洲第一精品自拍| 国产日韩欧美在线| 亚洲国产天堂久久综合| 色综合导航网站| 亚洲国产精品va| 欧美日韩亚洲一区二区| 日本免费一区二区三区视频观看| 国产精品永久免费| 国产精品久久久久久久久久小说| 久久成人在线视频| 亚洲欧美国产精品| 国内外成人免费激情在线视频| 久久精品国产精品亚洲| 国产综合香蕉五月婷在线| 欧美美女18p| 欧洲一区二区视频| 国产欧美一区二区三区四区| 欧美精品久久久久a| 最近的2019中文字幕免费一页| 欧美激情精品久久久久久久变态| 精品一区电影国产| 亚洲男人的天堂在线| 中文字幕亚洲国产| 欧美激情一区二区三区高清视频| 亚洲国产精品va在线看黑人动漫| 色七七影院综合| 欧美多人乱p欧美4p久久| 国产精品日韩欧美| 欧美日韩精品在线视频| 亚洲国产精品电影| 国产精品久久久久久久午夜| 亚洲精品国产综合久久| 欧美激情综合色综合啪啪五月| 欧美视频专区一二在线观看| 国产一区二区丝袜高跟鞋图片| 久久久久久午夜| 亚洲激情在线视频| 国产z一区二区三区| 岛国av一区二区| 欧美孕妇孕交黑巨大网站| 性色av一区二区咪爱| 日韩成人久久久| 亚洲综合在线中文字幕| 一区二区三区国产视频| 久久夜色精品国产| 欧美三级免费观看| 91在线中文字幕| 国产欧美久久一区二区| 青草成人免费视频| 国产视频综合在线| 亚洲精品不卡在线| 亚洲激情视频在线播放| 亚洲999一在线观看www| 在线观看国产成人av片| 国产不卡视频在线| 黄网站色欧美视频| 亚洲国产精品国自产拍av秋霞| 成人久久一区二区| 亚洲人成77777在线观看网| 51ⅴ精品国产91久久久久久| 日韩精品在线影院| 欧美视频免费在线观看| 国产在线一区二区三区| 福利视频一区二区| 久久亚洲影音av资源网| 色一区av在线| 午夜精品蜜臀一区二区三区免费| 欧洲美女免费图片一区| 精品日韩美女的视频高清| 欧美激情一区二区三级高清视频|