精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

J2EE中XML配置文件的讀取處理

開發 后端
Java和XML是黃金組合,網上已經有很多文章介紹,XML作為電子商務中數據交換,已經有其不可替代的作用,但是在平時系統開發中,我們不一定都用到數據交換,是不是無法使用XML了?

Java和XML是黃金組合,網上已經有很多文章介紹,XML作為電子商務中數據交換,已經有其不可替代的作用,但是在平時系統開發中,我們不一定都用到數據交換,是不是無法使用XML了?

當然不是,現在已經有一個新趨勢,Java程序的配置文件都開始使用XML格式,以前是使用類似Windows的INI格式(Java中也有Propertiesy這樣的類專門處理這樣的屬性配置文件)。使用XML作為Java的配置文件有很多好處,從Tomcat的安裝配置文件和J2EE的配置文件中,我們已經看到XML的普遍應用,讓我們也跟隨流行趨勢用XML武裝起來。

現在關鍵是如何讀取XML配置文件?有好幾種XML解析器:主要有DOM和SAX,在Apache的XML項目組中,目前有Xerces Xalan Cocoon幾個開發XML相關技術的project.Tomcat本身使用的是Sun的JAXP,而其XSL Taglib project中使用Xerces解析器。

好了,上面都是比較煩人的理論問題,還是趕快切入XML的配置文件的讀取吧。

在我們的程序中,通常要有一些根據主機環境確定的變量。比如數據庫訪問用戶名和密碼,不同的主機可能設置不一樣。只要更改XML配置文件,就可以正常運行。

﹤myenv﹥
﹤datasource﹥
﹤dbhost﹥localhost﹤/dbhost﹥
﹤dbname﹥sqlname﹤/dbname﹥
﹤dbuser﹥username﹤/dbuser﹥
﹤dbpassword﹥password﹤/dbpassword﹥
﹤/datasource﹥
﹤/myenv﹥ 

上面這個myenv.xml配置文件一般是放在tomcat的WEB-INF/classes目錄下。

我們編制一個Java程序直接讀取,將dbhost dbuser dbpassword提取出來供其他程序訪問數據庫用。

目前使用SAX比較的多,與DOM主要區別是SAX是一行一行讀取XML文件進行分析,適合比較大文件,DOM是一次性讀入內存,顯然不能對付大文件。這里我們使用SAX解析,由于SAX解析器不斷在發展,網上有不少文章是針對老版本的。如果你使用JDK1.4 ,可以參考 使用SAX處理XML文檔 一文。這里的程序是根據其改進并且經過實踐調試得來的。

對上面myenv.xml讀取的Java程序:

import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.SAXException; 
import java.util.Properties;
//使用DefaultHandler的好處
是不必陳列出所有方法,
public class ConfigParser 
extends DefaultHandler
{
////定義一個Properties 用來存放
dbhost dbuser dbpassword的值
private Properties props;
private String currentSet;
private String currentName;
private StringBuffer 
currentValue = new StringBuffer();
//構建器初始化props
public ConfigParser()
{
this.props = new Properties();
}
public Properties getProps()
{
return this.props;
}
//定義開始解析元素的方法。 
這里是將﹤xxx﹥中的名稱xxx提取出來。
public void startElement
(String uri, String localName,
String qName, Attributes attributes) 
throws SAXException
{
currentValue.delete(0, currentValue.length());
this.currentName =qName;
}
//這里是將﹤xxx﹥﹤/xxx﹥之間
的值加入到currentValue
public void characters(char[] ch,
int start, int length) throws SAXException
{
currentValue.append
(ch, start, length);
}
//在遇到﹤/xxx﹥結束后,
將之前的名稱和值一一對應保存在props中
public void endElement(String uri,
String localName, String qName)
throws SAXException 
{
props.put(qName.toLowerCase(), 
currentValue.toString().trim());
}
} 

上面的這個解析程序比較簡單吧? 其實解析XML就是這么簡單。

現在我們已經將dbhost dbuser dbpassword的值localhost sqlname username password提取了出來。但是這只是在在解析器內部,我們的程序還不能訪問。需要再編制一個程序。

import java.util.Properties;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.net.URL;
public class ParseXML
{
//定義一個Properties 
用來存放 dbhost dbuser dbpassword的值
private Properties props;
//這里的props
public Properties getProps()
{
return this.props;
}
public void parse(String filename)
throws Exception {
//將我們的解析器對象化
ConfigParser handler = new ConfigParser();
//獲取SAX工廠對象
SAXParserFactory factory
= SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
//獲取SAX解析
SAXParser parser
= factory.newSAXParser();
//得到配置文件myenv.xml所在目錄。
tomcat中是在WEB-INF/classes
//下例中BeansConstants是用來
存放xml文件中配置信息的類,
可以自己代替或定義
URL confURL = BeansConstants.class.
getClassLoader().getResource(filename);
try
{
//將解析器和解析對象myenv.xml聯系起來,
開始解析 
parser.parse(confURL.toString(), handler); 
//獲取解析成功后的屬性 
以后我們其他應用程序只要調用本程序
的props就可以提取出屬性名稱和值了
props = handler.getProps();
}finally{
factory=null;
parser=null;
handler=null;
}
}
}

由于我們的XML文件是使用最簡單的形式,因此解析器相對簡單,但是這已經足夠對付我們的配置文件了。

判斷一個程序系統的先進性,我們先看看他的配置文件,如果還在使用老套的xxx=123這樣類似.ini的文件,我們也許會微微一笑,他又落伍了.....

【編輯推薦】

  1. J2EE中的Config與Context參數應用
  2. J2EE常見的四種架構類型
  3. 當前流行的J2EE WEB應用架構分析
責任編輯:田超 來源: 中國Linux網絡學院
相關推薦

2009-06-16 13:27:59

Hibernate x

2009-06-10 14:10:23

J2EE學習J2EE是什么

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護

2009-06-23 08:06:46

J2EE體系架構J2EE模型J2EE設計模式

2009-06-23 16:48:26

J2EE常見問題J2EE平臺

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-12 08:54:22

EJB術語J2EE

2009-06-11 17:11:07

J2EE設計模式工廠模式

2009-06-22 17:05:41

Java EEJava企業應用

2009-06-10 13:30:32

J2EE四層模型客戶層Web層

2009-06-23 08:12:48

J2EE調用存儲過程

2009-06-22 17:34:40

J2EE架構

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-18 16:13:14

J2EE開發

2009-06-22 16:21:02

J2EE線程

2011-11-25 14:59:36

JavaJ2EE框架

2009-06-22 17:09:00

J2EE項目開發流程

2009-06-10 13:19:21

J2EE核心APIJ2EE核心組件

2011-05-16 14:07:58

J2EE

2009-06-22 11:04:00

Jdbc存儲過程
點贊
收藏

51CTO技術棧公眾號

色综合久久精品亚洲国产| 欧美性视频一区二区三区| av一区二区三区在线观看| 国产一级免费av| 亚洲成在人线免费观看| 欧美日韩1234| www.亚洲视频.com| 国产福利在线视频| 国产激情91久久精品导航 | 91久久精品一区二区三| 一本色道久久综合亚洲精品婷婷| 亚洲成人av综合| 日韩福利电影在线观看| 欧美日韩aaaa| 亚洲一区视频在线播放| av综合网址| 欧美色电影在线| 日韩欧美一区三区| 日本在线视频www鲁啊鲁| 国产区在线观看成人精品| 国产伦精品一区| 国产欧美熟妇另类久久久| 久久一区国产| 亚洲91精品在线| 丰满少妇被猛烈进入一区二区| 五月综合久久| 精品免费一区二区三区| 欧美一区二区三区免费在线看| 日本一区二区三区视频在线观看 | 精品欧美久久久| 亚洲一区二区在线视频观看| 免费亚洲电影| 午夜久久电影网| 男插女免费视频| 69久久久久| 国产日韩欧美一区二区三区乱码| 精品欧美日韩| 天天操天天干天天| 高清不卡在线观看av| 91精品视频免费看| 伊人久久成人网| 日韩高清在线不卡| 日本高清+成人网在线观看| 91精品久久久久久久久久久久久 | 欧美激情偷拍自拍| 亚洲视频专区在线| 性欧美丰满熟妇xxxx性仙踪林| 91蝌蚪精品视频| 这里是久久伊人| 视频在线观看免费高清| 欧美色网在线| 在线这里只有精品| 久久久久久久久久久福利| 超碰91在线观看| 午夜成人免费视频| 99在线精品免费视频| av在线网页| 亚洲va天堂va国产va久| 日韩欧美不卡在线| 国产调教在线| 欧美日韩一二三四五区| 精品这里只有精品| 成人香蕉视频| 欧美午夜精品一区二区蜜桃 | 国产69精品久久久久9999人| 久久精品青草| 亚洲精品一区二区三区99| 一级全黄裸体片| 国产精品流白浆在线观看| 亚洲国产成人精品久久| 欧美bbbbb性bbbbb视频| 宅男在线一区| 日韩网站在线观看| 欧美成人黄色网| 亚洲国产片色| 日本成人精品在线| 一级黄色片在线播放| 激情欧美日韩一区二区| www.久久久| 亚洲欧洲成人在线| 中文字幕va一区二区三区| 在线观看福利一区| 日本在线观看高清完整版| 精品久久香蕉国产线看观看亚洲| 国产性生交xxxxx免费| 日韩成人一区| 精品sm捆绑视频| 国产一二三四五区| 91精品蜜臀一区二区三区在线| 欧美伦理91i| 日韩伦人妻无码| 蜜臀va亚洲va欧美va天堂| 亚洲tv在线观看| 五月婷婷开心中文字幕| 国产精品成人一区二区艾草| 久艹在线免费观看| 国产精品蜜月aⅴ在线| 日韩女优制服丝袜电影| 人妻少妇一区二区| 欧美在线免费一级片| 91高清视频免费| 国产又粗又猛又爽又黄视频| 成人毛片在线观看| 一区二区三区四区视频在线| 国产夫妻在线播放| 欧美美女网站色| 免费a级黄色片| 欧美激情1区2区3区| 国产精品扒开腿做爽爽爽的视频| 性猛交富婆╳xxx乱大交天津 | 一个人看的www日本高清视频| 国产一区二区三区精品欧美日韩一区二区三区 | 久久亚洲影视婷婷| 久久免费一级片| 全亚洲第一av番号网站| 日韩视频免费观看高清完整版 | 色噜噜狠狠成人中文综合| 奇米777在线视频| 欧美精品一区二区三区中文字幕| 欧美劲爆第一页| 一级黄色免费片| 久久久不卡网国产精品二区| 人人妻人人澡人人爽欧美一区| 成人黄色图片网站| 亚洲欧美日韩国产中文专区| 久久精品99国产精| 国产在线一区观看| 日韩成人在线资源| 久久精品女人天堂av免费观看| 亚洲精品一区二区三区在线观看| 九九精品视频免费| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久综合九色99| 182在线视频观看| 欧美成人精品福利| 麻豆明星ai换脸视频| 久久精品免费看| 日韩av大全| 国产日韩另类视频一区| 日韩av网站大全| 五月婷婷中文字幕| 成人av在线网站| 久久手机在线视频| 亚洲精品在线播放| 九九热这里只有精品6| jizz中国女人| 一二三四社区欧美黄| 性色av浪潮av| 欧美三区视频| 色综合色狠狠综合色| 视频在线99re| 99久久精品一区二区成人| 亚洲社区在线观看| 欧美另类高清videos的特点| 久久久精品国产99久久精品芒果| 麻豆传传媒久久久爱| 国产精品亚洲人成在99www| 日韩免费观看在线观看| 黑人与亚洲人色ⅹvideos| 欧洲一区在线电影| 亚洲女人毛茸茸高潮| 国精产品一区一区三区mba桃花| 中文字幕日韩一区二区三区不卡 | caoporn国产精品免费公开| 在线免费观看a视频| 欧美精品一区二区高清在线观看| 日本一级淫片色费放| 91在线小视频| 国产精品人人爽人人爽| 无码一区二区三区视频| 91福利视频导航| 黄视频网站在线观看| 亚洲欧美另类国产| 国产精品久久久久久在线| 一区二区三区四区五区视频在线观看| 精品国产aⅴ一区二区三区东京热| 精品999日本| 日本精品一区二区三区高清 久久| 免费在线成人激情电影| 欧美xxxx18性欧美| 凸凹人妻人人澡人人添| 欧美性做爰猛烈叫床潮| 欧美日韩在线视频免费| 久久亚洲一级片| 香蕉视频xxxx| 久久久久91| 国产 国语对白 露脸| 亚洲日产av中文字幕| 成人免费视频网址| 国产资源在线观看入口av| 色黄久久久久久| 高h调教冰块play男男双性文| 日韩人体视频一二区| 久久国产波多野结衣| 91原创在线视频| 五月天视频在线观看| 宅男噜噜噜66一区二区| 麻豆中文字幕在线观看| 欧美电影完整版在线观看| 欧美精品一区二区在线观看| 国产精品国产亚洲精品看不卡| 91精品国产自产在线丝袜啪| 国产成人综合一区二区三区| 3d玉蒲团在线观看| 一区二区三欧美| 亚洲精品国产av| 欧美三级视频在线观看| 日韩 欧美 综合| 亚洲视频一区在线观看| xxx在线播放| 岛国一区二区三区| 91国内在线播放| 母乳一区在线观看| 国产免费黄色小视频| 中文乱码免费一区二区三区下载| 欧美精品免费观看二区| 97se亚洲| 成人性生交大片免费看视频直播| 久久电影tv| 91精品国产91久久久久久吃药| 麻豆av免费在线观看| 国产亚洲精品一区二区| 色视频在线观看| 亚洲第五色综合网| 成人av手机在线| 日韩视频在线一区二区| 一级欧美一级日韩| 欧美日韩中字一区| 日韩欧美一级大片| 欧美性猛交xxxx乱大交蜜桃 | 欧美精品福利| 亚洲一区二区三区精品视频| 国产精品三级| 欧美日韩免费精品| 亚洲va久久| 麻豆视频成人| 亚洲人成网站77777在线观看 | 欧美综合一区| 日韩高清三级| 成人3d精品动漫精品一二三| 日韩福利视频| 欧美一级精品| 手机看片福利永久国产日韩| 精品freesex老太交| 欧美一区亚洲二区| 精品国产日韩欧美| 色狠狠久久av五月综合| 欧洲乱码伦视频免费| 色综合久久久久久久久五月| 成人区精品一区二区婷婷| 午夜精品亚洲一区二区三区嫩草| 精品国产91久久久久久浪潮蜜月| 日本一区二区在线| 久久av红桃一区二区禁漫| 成人午夜视频福利| 中文字幕视频观看| 成人精品免费网站| 日韩aaaaa| 国产欧美日韩久久| 久久久久久久麻豆| 一区二区三区小说| 日韩成年人视频| 一本色道a无线码一区v| 中文字幕精品一区二区精| 在线播放国产精品二区一二区四区| 国产精品探花视频| 亚洲国产高潮在线观看| 人操人视频在线观看| 在线成人中文字幕| av免费在线免费| 97视频在线观看播放| 欧美精品高清| 91麻豆国产精品| 999久久久久久久久6666| 久久久一本精品99久久精品| japanese国产精品| 欧美 国产 精品| 麻豆91精品| 日韩成人av免费| av日韩在线网站| 欧美重口乱码一区二区| 国产极品久久久久久久久波多结野| 成人国产精品一区二区| 99精品国产高清一区二区麻豆| 精品综合久久久| 国产精品国产一区| 玩弄中年熟妇正在播放| 青青草91视频| 成人区人妻精品一区二| 国产欧美日本一区二区三区| 久久久久黄色片| 欧美在线制服丝袜| 亚洲精品久久久久久动漫器材一区| 亚洲欧美视频在线| 色呦呦呦在线观看| 国产精品久久久久久久久久久久久久| 中文字幕区一区二区三| 视频一区亚洲| 99在线精品视频在线观看| 在线看免费毛片| 久久久久久一二三区| 久久久精品人妻一区二区三区四| 在线看国产日韩| 色偷偷在线观看| 麻豆国产精品va在线观看不卡 | 在线视频一区二区三区| 精品久久久无码中文字幕| 一区二区三区在线播放欧美| 丁香花在线电影| 亚洲aⅴ男人的天堂在线观看 | 色综合久久精品| 潘金莲一级淫片aaaaaa播放| 日韩一区二区不卡| 一级日本在线| 日本一区二区三区在线播放| aiai久久| 99亚洲国产精品| 美女脱光内衣内裤视频久久影院| 久久无码人妻精品一区二区三区| 亚洲乱码国产乱码精品精98午夜| а中文在线天堂| 亚洲毛茸茸少妇高潮呻吟| gogo高清午夜人体在线| 成人在线视频网| 日韩精品电影| 久久精品网站视频| 久久免费视频一区| 精品成人久久久| 精品国产免费久久| 18视频在线观看| 亚洲最大的成人网| 欧美国产美女| 五月花丁香婷婷| 综合电影一区二区三区| 这里只有精品9| 伊人久久精品视频| 巨胸喷奶水www久久久免费动漫| 秋霞毛片久久久久久久久| 亚洲永久在线| 30一40一50老女人毛片| 欧美日韩国产丝袜另类| 欧洲毛片在线| 茄子视频成人在线| 国产亚洲电影| 不卡av免费在线| 国产欧美精品一区二区三区四区| 国产精品51麻豆cm传媒 | 真实乱视频国产免费观看| 疯狂欧美牲乱大交777| 日韩一区二区三区中文字幕| 26uuu另类亚洲欧美日本一| 小说区图片区色综合区| 成人免费无码av| 国产精品色呦呦| 国产免费的av| 久久久久亚洲精品成人网小说| 国产精品22p| 欧美一级黄色片视频| 欧美韩国一区二区| 国产精品高潮呻吟av| 欧美大片第1页| 日日狠狠久久偷偷综合色| 粗暴91大变态调教| 国产精品美女久久久久久久久久久 | 91在线看网站| 99视频一区| 无码少妇一区二区| 欧美一区国产二区| 欧美videossex| 欧洲成人一区二区| 久久成人综合网| 久久黄色免费网站| 亚洲精品一区二区在线| 成人国产精品一区二区免费麻豆 | 亚洲第一精品在线观看 | 国产日韩一区二区| 久久久久国产精品午夜一区| 日韩一区二区三区四区视频| 日韩精品一区二区三区蜜臀| 欧美sm一区| 杨幂一区欧美专区| 不卡视频在线观看| 中文字幕在线观看高清| 久久97久久97精品免视看| 杨幂一区二区三区免费看视频| 欧美一级特黄a| 亚洲国产va精品久久久不卡综合| 亚洲老妇色熟女老太| 国产成人自拍视频在线观看| 99精品视频在线| 亚洲av成人片色在线观看高潮| 欧美午夜不卡视频| 国产不卡人人| avove在线观看| 久久蜜桃一区二区| 精品人妻久久久久一区二区三区| 日韩美女视频免费看| 欧美1区3d| 极品蜜桃臀肥臀-x88av| 亚洲成人在线网|