读取数据库连接配置文件
java.lang.NullPointerException 怎么回事?高手
public class XczyDao {
private Connection con = null;
private String url;//数据库URL
private String username;//登录数据库用户名
private String password;//用户密码
private String driverClassName;//用户密码
/**
* 返回到数据库的一个连接,在一个系统或类中,如果经常进行数据库的相关操作
* 会把建立数据库的连接作为一个单独的方法。
*/
public void initConnection()throws Exception{
getProperty();
try
{
Class.forName("driverClassName");
con = DriverManager.getConnection(url, username, password);
}
catch(SQLException e) {}
}
/**
* 读取属性配置文件
*/
private void getProperty()
{
Properties prop = new Properties();
try
{
InputStream in = this.getClass().getResourceAsStream("/Config.properties");
prop.load(in);
driverClassName = prop.getProperty("driverClassName");
url = prop.getProperty("url");
username = prop.getProperty("username");
password = prop.getProperty("password");
}
catch(IOException e)
{
e.printStackTrace();
}
}
Config.properties
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@10.224.3.52:1521:ora9i2
username=yz
password=yz
[解决办法]
Class.forName("driverClassName");
这里的driverClassName应该是一个变量名吧,
把引号去掉。
[解决办法]
Enumeration propNames = props.propertyNames();while (propNames.hasMoreElements()) {driverClassName = prop.getProperty("driverClassName"); url = prop.getProperty("url"); username = prop.getProperty("username"); password = prop.getProperty("password");
[解决办法]
增加此语句试试driverClassName="oracle.jdbc.driver.OracleDriver";
不行的话写一个连接Oracle的JSP程序test.jsp试试看,这样可以保证你完全搞懂jsp是如何连接oracle的。
1、连入SQL*Plus
以system/manager用户登录,
SQL> conn system/manager
创建新的用户:如user1/pass1,赋予connect,resource权限。
SQL> grant connect,resource to user1 identified by pass1;
SQL> conn user1/pass1
SQL> create table test(a number,b char(10));
SQL> insert into test values(1,\"一\");
SQL> insert into test values(2,\"二\");
SQL> insert into test values(3,\"三\");
SQL> commit;
SQL> select * from test;
A B
---------- ----------
1 一
2 二
3 三
2、配置ODBC(在服务器端设置)
开始->设置->控制面板->管理工具->数据源 (ODBC)->系统DSN->添加->
选择“Oracle ODBC Driver”->完成->
Data Source Name:test名字随便取,好记就行,如:test
Service Name:oradb Oracle数据库的实例名,本例:oradb,一般Oracle默认安装为ORCL
UserID:user1 Oracle用户名,本例:user1
按“OK”->按“确定”退出
3、在C:\JBuilder4\tomcat\webapps\test下创建test.jsp,用notebook编辑,输入以下代码
<!--首先导入一些必要的packages-->
<%@ page info=\"database handler\"%>
<%@ page import=\"java.io.*\"%>
<%@ page import=\"java.util.*\"%>
<!--告诉编译器使用SQL包-->
<%@ page import=\"java.sql.*\"%>
<%@ page import=\"javax.servlet.*\"%>
<%@ page import=\"javax.servlet.http.*\"%>
网管网www.bitscn.com
<%
//以try开始
try
{
Connection con;
Statement stmt;
ResultSet rs;
//加载驱动程序,下面的代码为加载JDBD-ODBC驱动程序
Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\");
//用适当的驱动程序连接到数据库,test\"是系统dsn名
String url=\"jdbc:odbc:test\";
//建立连接,类似于ASP中的创建数据库联接
con=DriverManager.getConnection(url, \"user1\", \"pass1\");
//创建一个JDBC声明
stmt = con.createStatement();
//增加新记录
stmt.executeUpdate(\"INSERT INTO test (a,b) VALUES (1,\"2\")\");
//查询记录
rs = stmt.executeQuery(\"SELECT a,b from test\");
//输出查询结果
out.println(\"<table border=1 width=400>\");
while (rs.next())
{
String col1 = rs.getString(1);
String col2 = rs.getString(2);
//打印所显示的数据
out.println(\"<tr><td>\"+col1+\"</td><td>\"+col2+\"</td></tr>\"); 网管联盟bitsCN_com
}
out.println(\"</table>\");
}
//如果加载时出错,给出相应的错误信息
catch (Exception e) {}
%>
4、打开一个浏览器窗口,输入以下地址来查看运行结果
http://localhost:8080/test/test.jsp
转自www.bitsCN.com
[解决办法]
看出现的错误是空指针....
如果是少驱动包的话,会报SQLEXCETION.
估计是下面这里出现空的情况.....
InputStream in = this.getClass().getResourceAsStream("/Config.properties");
prop.load(in);
具体还要把详细错误代码