Tomcat4.1.18连接池问题:问题解决后加分结贴!
emoam 2003-08-28 06:12:02 server.xml中配置如下:
<!-- Tomcat Root Context -->
<Context path="" docBase="ROOT" debug="0">
<Resource name="jdbc/SQLServer" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/SQLServer">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://192.168.0.250:1433;DatabaseName=FFDB</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>123</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>200</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
web.xml配置如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<resource-ref>
<description>SQLServer DataSource</description>
<res-ref-name>jdbc/SQLServer</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
简单连接程序如下:
private Connection GetContext()
{
Connection conn = null;
try{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
//获取连接池对象
Object obj = (Object) ctx.lookup("jdbc/SQLServer");
//类型转换
javax.sql.DataSource ds = (javax.sql.DataSource) obj;
conn = ds.getConnection();
}catch(Exception e){
System.err.println(e.getMessage());
conn = GetJDBCConnection(); //这里是我写的另一个连接方法
}finally{
return conn;
}
}
异常提示如下:
Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
是不是我某个部分没有配置?
请高手不吝赐教!