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应该是一个变量名吧,
把引号去掉。
------解决方案--------------------
- Java code
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中的创建数据库联接