求助,为什么我的数据库连不上??No suitable driver found for jdbc
package com.daily.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBUtil {
static String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static String DB_URL = "jdbc:mysql://localhost/exercise";
static String USER = "root";
static String PASS = "123456";
static DataSource ds = null;
static {
try {
Context cxt = new InitialContext();
ds = (DataSource) cxt.lookup("java:comp/env/jdbc/mysql");
} catch (NamingException e) {
System.out.println("无法通过JNDI加载数据源");
}
}
public static void init() {
InputStream is = DBUtil.class.getResourceAsStream("/db.properties");
Properties pp = new Properties();
try {
pp.load(is);
} catch (IOException e) {
e.printStackTrace();
}
if(pp.getProperty("driver") != null && !pp.getProperty("driver").equals("")){
JDBC_DRIVER=pp.getProperty("driver");
}
if(pp.getProperty("url") != null && !pp.getProperty("url").equals("")){
DB_URL=pp.getProperty("url");
}
if(pp.getProperty("user") != null && !pp.getProperty("user").equals("")){
USER=pp.getProperty("user");
}
if(pp.getProperty("pass") != null && !pp.getProperty("pass").equals("")){
PASS=pp.getProperty("pass");
}
}
public static Connection getConnection() {
Connection conn = null;
try {
if (ds == null) {
init();
//问题就在这
conn =DriverManager.getConnection(DB_URL,USER,PASS);
} else {
conn = ds.getConnection();
}
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void closeAll(ResultSet rs, PreparedStatement prst, Connection conn) {
try {
if (rs != null)
rs.close();
if (prst != null)
prst.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void closeAll(PreparedStatement prst, Connection conn) {
try {
if (prst != null)
prst.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
已上是连接数据库
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource "
maxTotal="100" maxIdle="30" maxWaitMillis="10000"
username="root" password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/exercise"/>
已上是context.xml
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/exercise
user=root
pass=123456
上面是db.properties
数据库版本mysql-5.1.73-winx64
jar包:mysql-connector-java-5.1.7-bin和mysql-connector-java-5.1.17-bin两个都试过了
报的错误是:java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/exercise
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at com.daily.util.DBUtil.getConnection(DBUtil.java:62)
at com.daily.dao.imp.UserDao.LeaderLogin(UserDao.java:53)
at com.daily.controller.LoginServlet.doPost(LoginServlet.java:65)