db.properties文件
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test3
username=root
password=root
使用监听器加载数据库驱动
package com.leo.listener;
import java.util.ResourceBundle;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import javax.sql.DataSource;
import com.leo.DBUtil.DBSource;
import jdbchelper.SimpleDataSource;
/**
* Application Lifecycle Listener implementation class StartUp
*
*/
@WebListener
public class StartUp implements ServletContextListener {//实现了上下文监听器接口(即在服务启动时就会加载数据源和驱动)
public void contextInitialized(ServletContextEvent arg0) {
ResourceBundle rb = ResourceBundle.getBundle("com/leo/resource/db");//解析db.properties文件的方法
String driverClass = rb.getString("driverClass");
String url = rb.getString("url");
String username = rb.getString("username");
String password = rb.getString("password");
DataSource ds = new SimpleDataSource(driverClass, url, username, password);//初始化数据源,jdbchelper需要它才能初始化
// 设置数据源对象
DBSource.setDs(ds);//set过后,我们就可以调用DBSource.getDs()得到数据源
}
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
}
}
DBsource类文件
package com.leo.DBUtil;
import javax.sql.DataSource;
public class DBSource {
private static DataSource ds ;
public static DataSource getDs() {
return ds;
}
public static void setDs(DataSource ds) {
DBSource.ds = ds;
}
}