bean
package bean;public class db {
private String driver;
private String url;
private String uname;
private String upwd;
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpwd() {
return upwd;
}
public void setUpwd(String upwd) {
this.upwd = upwd;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}xml文件<?xml version="1.0" encoding="UTF-8"?>
<数据库连接>
<连接 id ="1">
<driver>sun.jdbc.odbc.JdbcOdbcDriver</driver>
<url>jdbc:odbc:aaa</url>
<uname>""</uname>
<upwd>""</upwd>
</连接>
</数据库连接>

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import bean.db;
public class TestX {
public static void main(String args[]){
db b = new db();
String driver = b.getDriver();
String url=b.getUrl();
String uname=b.getUname();
String upwd=b.getUpwd();
Connection con = null;
ResultSet rs = null;
Statement st = null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, uname, upwd);
st = con.createStatement();
rs = st.executeQuery("select * from student");
while(rs.next()){
System.out.println(rs.getString("sid"));

}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static  void get() throws Exception{
String driver ;
String url;
String uname;
String upwd;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("src\\a.xml");
NodeList nl = doc.getElementsByTagName("连接");
for (int i = 0; i < nl.getLength(); i++) {
Element n = (Element) nl.item(i);
System.out.println(n.getAttribute("id"));
NodeList l = n.getElementsByTagName("driver");
driver=l.item(0).getFirstChild().getNodeValue();
NodeList l1 = n.getElementsByTagName("url");
url=l1.item(0).getFirstChild().getNodeValue();
NodeList l2 = n.getElementsByTagName("uname");
uname=l2.item(0).getFirstChild().getNodeValue();
NodeList l3 = n.getElementsByTagName("upwd");
upwd=url=l3.item(0).getFirstChild().getNodeValue();
db s = new db();
s.setDriver(driver);
s.setUrl(url);
s.setUname(uname);
s.setUpwd(upwd);
}

}}错误信息  Exception in thread "main" java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at TestX.main(TestX.java:25)

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【RockmanXYZ】截止到2008-07-10 16:41:52的历史汇总数据(不包括此帖):
    发帖的总数量:2                        发帖的总分数:50                       每贴平均分数:25                       
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:2                        结贴的总分数:50                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    public static  void get() throws Exception{
    这个方法有用吗?如果有用,你在哪里调用的?
      

  3.   

    NullPointerException 这么明显!
    db b = new db();
    这确实实例化了一个db对象,但b的几个属性driver,url,uname,upwd都是一个空定义的,而你后面就直接String driver = b.getDriver();
    那么问你,这个driver里是什么?你打印出来一看就知道
      

  4.   

    空指针异常呀
    NullPointerException
      

  5.   

    谢谢了 那么怎么调用driver url的值呢
      

  6.   

    url 是你数据库的地址吧? 本机的话要他值做什么?
      

  7.   

    就是这么多的代码了 自己就是想实现读取XML文件中的内容 然后代替到数据库的连接中去Class.forName(driver);
                con=DriverManager.getConnection(url, uname, upwd);
    driver 和 url uanme  upwd  是XML文件中写好的  因为没学过XML  所以不太懂  
      

  8.   

    发表于:2008-07-10 17:21:027楼 得分:0 
    bean.db 是你自己写的? 
    ???
      

  9.   

    XML配合DTD来验证的 
    你这个3个名字看看是否和XML文件名统一?
    变量名写的意思你明白吗?
      

  10.   

    at TestX.main(TestX.java:25) 
    代码25行是什么?4楼所说的是个疑点,不知你的db类的构造器是怎么写的。