您的位置:首页 > 其它

lvs中ipvsadm的ActiveConn和InActConn的深入理解

2015-01-29 13:18 295 查看
java读取xml文件中oracle数据库连接(sax)

//------------DataBaseConfig.xml

<data></data><!---->

<?xml version="1.0" encoding="UTF-8"?>  

<data>  

 <datasource>  

  <dataname>xf</dataname>  

  <driver>oracle.jdbc.driver.OracleDriver</driver>  

  <url>jdbc:oracle:thin:@localhost:1521:SID</url>  

  <username>xiaofeng</username>  

  <password>xiaofeng</password>  

 </datasource>  

</data>  

 

//---------------------ConfigParser.java

java 代码

package zwf.xml;   

import java.util.Properties;   

import org.xml.sax.Attributes;   

import org.xml.sax.SAXException;   

import org.xml.sax.helpers.DefaultHandler;   

  

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提取出来.   

public void startElement(String uri, String localName, String qName,   

          Attributes attributes) throws SAXException {   

         currentValue.delete(0, currentValue.length());   

         this.currentName = qName;   

}   

  

// 这里是将之间的值加入到currentValue   

public void characters(char[] ch, int start, int length)   

          throws SAXException {   

         currentValue.append(ch, start, length);   

}   

  

// 在遇到结束后,将之前的名称和值一一对应保存在props中   

public void endElement(String uri, String localName, String qName)   

          throws SAXException {   

         props.put(qName.toLowerCase(), currentValue.toString().trim());   

}   

  

}   

  

//-----------------ParseXML.java

java 代码

package zwf.xml;   

  

import java.util.Properties;   

import javax.xml.parsers.SAXParser;   

import javax.xml.parsers.SAXParserFactory;   

  

class ParseXML {   

// 定义一个Properties 用来存放属性值   

private Properties 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();   

         try {   

          // 将解析器和解析对象xml联系起来,开始解析   

          parser.parse(filename, handler);   

          // 获取解析成功后的属性   

          props = handler.getProps();   

         } finally {   

          factory = null;   

          parser = null;   

          handler = null;   

         }   

}   

}   

  

//-----------------ReadConfigXml.java

java 代码

package zwf.xml;   

  

  

import java.util.Properties;   

  

public class ReadConfigXml {   

private Properties props;   

  

public ReadConfigXml(String url) {   

         ParseXML myRead = new ParseXML();   

         try {   

          myRead.parse(url);   

          props = new Properties();   

          props = myRead.getProps();   

         } catch (Exception e) {   

          e.printStackTrace();   

         }   

}   

/*  

public String getServerName() {  

         return props.getProperty("servername");   //getProperty("<标签名>"),与XML文档里标签名相关联  

}                                                   //另:标签名在这里使用时,统一为小写  

 

public String getServerPort(){  

         return props.getProperty("serverport");   //getProperty("<标签名>"),与XML文档里标签名相关联  

}  

 

public String getDatabaseName() {  

         return props.getProperty("databasename"); //getProperty("<标签名>"),与XML文档里标签名相关联  

}  

 

public String getUserName() {  

         return props.getProperty("username");     //getProperty("<标签名>"),与XML文档里标签名相关联  

}  

 

public String getPassWord() {  

         return props.getProperty("password");     //getProperty("<标签名>"),与XML文档里标签名相关联  

}  

 

*/  

  

public String getDataName(){   

 return props.getProperty("dataname");   

}   

public String getDriver(){   

 return props.getProperty("driver");   

}   

public String getUrl(){   

 return props.getProperty("url");   

}   

public String getUserName(){   

 return props.getProperty("username");   

}   

public String getPassWord(){   

 return props.getProperty("password");   

}   

}   

//---------------------DBConnection.java

java 代码
 

package zwf.xml;   

  

import java.sql.Connection;   

import java.sql.DriverManager;   

import java.sql.SQLException;   

  

import zwf.xml.ReadConfigXml;   

  

public class DBConnection {   

  

private Connection con;   

  

private DBConnection() {   

     

}   

  

public static DBConnection newInstance(){   

         return new DBConnection();   

}   

/*  

public Connection getConnection(){  

         ReadConfigXml r = new ReadConfigXml("mssql.xml");    //读取xml文件中数据库相关信息  

         String url = "jdbc:microsoft:sqlserver://"+r.getServerName()+":"+r.getServerPort()  

                            +";DatabaseName="+r.getDatabaseName();  

         String username = r.getUserName();  

         String password = r.getPassWord();  

         try {  

          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  

          con = DriverManager.getConnection(url, username, password);  

         } catch (ClassNotFoundException e) {  

          e.printStackTrace();  

         } catch (SQLException e) {  

          e.printStackTrace();  

         }  

         return con;  

}  

 

 

         //测试连接  

         public static void main(String args[]){  

          Connection con = DBConnection.newInstance().getConnection();  

         }  

*/  

public static void main(String args[]){   

 ReadConfigXml r = new ReadConfigXml("DataBaseConfig.xml");  //xml文件放到工程目录下   

 System.out.println(r.getDataName());   

 System.out.println(r.getDriver());   

 System.out.println(r.getUrl());   

 System.out.println(r.getUserName());   

 System.out.println(r.getPassWord());   

  

    

}   

}   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: