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)
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)
解决方案 »
- 父类域(field)的访问修饰【private或protected】用哪个更好?
- 求教有关IO的问题!
- 请教,如何向属性文件test.properties里面写文件?
- 我在文本框中输入"0.4,0.18,0.1,0.1,0.07,0.06,0.05,0.04",想让 double weight[]={0.4,0.18,0.1,0.1,0.07,0.06,0.05,0.04};
- 显视不了绘制图
- 菜鸟有关下拉菜单的简单问题
- byte[]数组socket中传送图片的问题
- 关于JSP跳转的问题。
- 函数求救
- JavaBean中的类之间怎样相互调用?
- 用jdbc怎么删除想关联的主从表
- 求助:如何写个过滤器实现中文字符编码的转换
楼主【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 %
敬礼!
这个方法有用吗?如果有用,你在哪里调用的?
db b = new db();
这确实实例化了一个db对象,但b的几个属性driver,url,uname,upwd都是一个空定义的,而你后面就直接String driver = b.getDriver();
那么问你,这个driver里是什么?你打印出来一看就知道
NullPointerException
con=DriverManager.getConnection(url, uname, upwd);
driver 和 url uanme upwd 是XML文件中写好的 因为没学过XML 所以不太懂
bean.db 是你自己写的?
???
你这个3个名字看看是否和XML文件名统一?
变量名写的意思你明白吗?
代码25行是什么?4楼所说的是个疑点,不知你的db类的构造器是怎么写的。