使用连接池的好处是为了避免频繁的创建、关闭数据库连接,从而提高WEB应用的效率。
网上多数为连接mysql方式,下面是我自己总结的连接sqlserver2008的配置方法。
一、配置Tomcat7 conf\server.xml,找到</Host>,以此标签之前加入如下配置
<!-- 配置虚拟目录为D盘servlet2目录 --> <Context path="/servlet2" docBase="d:\servlet2" debug="0" reloadable="true"> <!--配置sqlserver数据库的连接池, 需要做的额外步骤是将sqlserver的Java驱动类(sqljdbc4.jar)放到tomcat的lib目录下 --> <Resource name="dbspdb" auth="Container" type="javax.sql.DataSource" username="sa" password="123456" maxIdle="30" maxWait="10000" maxActive="100" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1:1433;Database=spdb"/> </Context>
【提示】name 资源名,自己定义即可,数据库的用户名、密码及连接地址请根据自己实际情况配置。
二、在servlet中调用连接
import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; //通过数据源取得连接 public class Conn{ private Connection con=null; public Connection getConn(){ try { //初始化查找命名空间 Context ctx = new InitialContext(); //参数java:/comp/env为固定路径 Context envContext = (Context)ctx.lookup("java:/comp/env"); //参数jdbc/spdb为数据源和JNDI绑定的名字 DataSource ds = (DataSource)envContext.lookup("dbspdb"); con = ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return con; } }
以上部分为本人亲测可用,希望可以为您提供一定参考价值。欢迎指正!
以上内容有待改进,可用最新连接池,参考:http://www.open-open.com/lib/view/open1397099163669.html