在最近的一個MIS項目中,為了避免硬編碼,我需要把一些配置信息寫在一個配置文件中.考慮到是J2EE項目,J2EE的配置文件
好像都是xml文件了,再用傳統ini文件是不是有點落伍了?
ok,就用xml做配置文件吧.
我的配置文件reportenv.xml如下,比較簡單:
<?xml version="1.0" encoding="utf-8"?>
<reportenv>
<datasource>
<username>sqlname</username>
<password>password</password>
</datasource>
</reportenv>
現在的問題是我用什麼來讀取配置信息?
現在流行的是dom4j和sax,我以前一直用dom4j.可是weblogic workshop自帶的是sax,我又不想再引入包了,於是就是sax吧.
第一步:ConfigParser.java
/*
* Create Date: 2005-6-13
* Create By: 板橋裡人
* purpose:xml配置文件屬性讀取器
*/
package com.infoearth.report;
import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.SAXException;
import java.util.Properties;
public class ConfigParser extends DefaultHandler {
////定義一個Properties 用來存放屬性值
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());