1.
org.apache.tomcat.dbcp.dbcp.SQLNestedException:Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
没有将jdbc驱动包放入tomcat的lib下或网站的lib下
2.
javax.naming.NameNotFoundException:Name xxx is not bound in this Context
检查代码中用于获取的jndi名称(xxx)是否存在
注意在tomcat中用于获取的jndi名称必须以java:comp/env开头
BaseDao里边注释掉的是不使用数据库
// private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
// private static final String URL="jdbc:sqlserver://localhost:1433;DatabaseName=call";
// //数据库用户名密码
// private static final String USERNAME="sa";
// private static final String PASSWORD="sa";
//
//创建connection对象
protected Connection conn;
//创建PreparedStatement对象
protected PreparedStatement pstmt;
//创建ResultSet对象
protected ResultSet rs;
protected void getConnection() throws SQLException{
//获取连接池对象
DataSource dataSource=DBConnection.getDataSource();
//获取连接
this.conn=dataSource.getConnection();
// try {
// //注册驱动
//Class.forName(DRIVER);
连接
//conn=DriverManager.getConnection(URL,USERNAME,PASSWORD);
//
//} catch (ClassNotFoundException e) {
TODO Auto-generated catch block
//e.printStackTrace();
//}catch(SQLException e){
//e.printStackTrace();
//}
}
使用DBCP配置数据库连接池
1.
www.apache.org官方网站下载dbcp需要的jar包
包括以下jar包
commons-dbcp-1.4.jar
commons-pool-1.5.5.jar
2.
将jdbc驱动,上述两个jar文件同时放入WEB-INF目录下的lib目下
3.
在网站下新建
properties
文件,名称随意,扩展名必须为
properties
4.
可以放在
WEB-INF
目录或和数据访问类相同的目录下
properties
文件中内容如下所示
driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;databasename=movie//movie数据库名称
username=sa
password=sa
initialSize=10
maxActive=50
maxIdle=20
minIdle=5
maxWait=60000使用DBCP得到数据库连接