try {
String className = "oracle.jdbc.driver.OracleDriver";
Class.forName(className);
System.out.println("加载数据库驱动成功!");
} catch (ClassNotFoundException e) {
System.out.println("加载数据库驱动失败!");
e.printStackTrace();
}
try {
System.out.println("开始连接数据库");
String user = "sys as sysdba";
String password = "123123";
String url = "jdbc:oracle:thin:@焱:1521:XE";
con = DriverManager.getConnection(url, user, password);
System.out.print(con);
System.out.println("创建数据库连接成功!");
} catch (SQLException e) {
System.out.print(con);
System.out.println("创建数据库连接失败!");
con = null;
e.printStackTrace();
}
如果直接在类里面使用main函数 获取数据库能够连接成功,取出数据,但是在web页面的servlet中使用DBManager dbm = new DBManager(); 就会报空指针异常
java.lang.NullPointerException
java.lang.String.<init>(String.java:166)
oracle.sql.CharacterSet.AL32UTF8ToString(CharacterSet.java:1516)
oracle.jdbc.driver.DBConversion.CharBytesToString(DBConversion.java:588)
oracle.jdbc.driver.DBConversion.CharBytesToString(DBConversion.java:541)
oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:815)
oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:361)
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:413)
oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
java.sql.DriverManager.getConnection(DriverManager.java:664)
java.sql.DriverManager.getConnection(DriverManager.java:247)
util.DBManager.<init>(DBManager.java:33)
service.StudentService.stu_Login(StudentService.java:21)
MyServlet.LoginPageServlet.doPost(LoginPageServlet.java:35)
javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
最后指向的就是 con = DriverManager.getConnection(url, user, password);这一句连接语句