以下这篇文章是我从网上找的,我现在也有同样的问题,请高手出手帮帮我,谢谢了!
我配置tomcat的连接池,我使用的版本是tomcat 5.0.28
数据库sqlserver2000 名字为:test
驱动:已经拷贝到tomcat lib下
在tomcat server.xml 中
配置如下:
<Host name="test" appBase="C:\Documents and Settings\Administrator\workspace\test\WebRoot"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context>
<Resource name="jdbc/bn" auth="Container" type="javax.sql.DataSource" >
</Resource>
<ResourceParams name="jdbc/bn">
<parameter>
<name>maxActive </name>
<value>100 </value>
</parameter>
<parameter>
<name>maxIdle </name>
<value>30 </value>
</parameter>
<parameter>
<name>maxWait </name>
<value>10000 </value>
</parameter>
<parameter>
<name>username </name>
<value>sa </value>
</parameter>
<parameter>
<name>password </name>
<value> </value>
</parameter>
<parameter>
<name>driverClassName </name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver </value>
</parameter>
<parameter>
<name>url </name>
<value>jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName=Test </value>
</parameter>
</ResourceParams>
</Context>
</Host>
在tomcat web.xml 中
配置如下:
tomcat\conf\web.xml
加入
<resource-ref>
<description>DB Connection </description>
<res-ref-name>jdbc/bn </res-ref-name>
<res-type>javax.sql.DataSource </res-type>
<res-auth>Container </res-auth>
</resource-ref>
测试代码为:
<%
DataSource ds=null;
Connection conn=null;
try{
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:comp/env");
//从Context中lookup数据源
ds=(DataSource)envCtx.lookup("jdbc/bn");
if(ds!=null)
{
out.println("已经获得datasource!");
out.println(" <br>");
conn=ds.getConnection();
out.println("rst前");
out.println(" <br>");
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery("select * from book");
out.println("以下是从数据库中读取出来的数据");
while(rst.next())
{
out.println("bookname:"+rst.getString("bookname"));
out.println(" <br>");
}
}
else
out.println("连接失败");
}catch(Exception ne)