高分提问:在Tomcat中配置数据库连接池

yanhao_yi 2004-09-24 10:12:42
小弟我按照网上的文档进行了配置,可是总是出现下列错误,请大虾们指点。
javax.naming.NamingException: Cannot create resource instance
at org.apache.naming.factory.ResourceFactory.getObjectInstance(Resourc
actory.java:167)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java
04)
at org.apache.naming.NamingContext.lookup(NamingContext.java:835)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:183)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at org.apache.jsp.index$jsp._jspService(index$jsp.java:85)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
...全文
157 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanhao_yi 2004-09-24
  • 打赏
  • 举报
回复
server.xml
<Context path="/yanhao" docBase="yanhao" reloadable="true" debug="0" crossContext="true">
<Resource name="jdbc/yanhaoDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/yanhaoDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://192.1.1.33:1433;DatabaseName=Great Wall</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>0</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>user</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
</ResourceParams>
</Context>

web.xml
<resource-ref>
<description>connectDB test</description>
<res-ref-name>jdbc/yanhaoDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

jsp
System.out.println("hello");
Context initContext = new InitialContext();
System.out.println("hello2");
Context envContext = (Context) initContext.lookup("java:/comp/env/");
System.out.println("hello3");
DataSource ds = (DataSource) envContext.lookup("jdbc/yanhaoDB");
System.out.println("hello4");
if (ds != null){
System.out.println("ds is not null");
}
conn = ds.getConnection();
System.out.println("hello5");


执行到hello3就出错
yangzuyu12 2004-09-24
  • 打赏
  • 举报
回复
你的配置有问题,把配置贴出来
yanhao_yi 2004-09-24
  • 打赏
  • 举报
回复
up
yanhao_yi 2004-09-24
  • 打赏
  • 举报
回复
up
guxinglou 2004-09-24
  • 打赏
  • 举报
回复
哈哈,我自己找了找资料,也配置好了tomcat的连接池,配置成功了mysql,oracle,mssql的连接池。

其实不难。
fivesky 2004-09-24
  • 打赏
  • 举报
回复
呵呵 来晚了吗? 还没结贴就有机会
xiangbo520 2004-09-24
  • 打赏
  • 举报
回复
看来楼主自食其力的能力很强啊!不过不知道我能不能接分啊 !我就快穿5条三角裤了。
javafans2008 2004-09-24
  • 打赏
  • 举报
回复
给你一个查找数据源获得连接的工具类:
package cc.tangchao.hq;

import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
//一个用于查找数据源的工具类。
public class DatabaseConn {
public static synchronized Connection getConnection() throws Exception
{
try
{

Context initCtx = new javax.naming.InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/hq");
return ds.getConnection();
}
catch(SQLException e)
{
throw e;
}
catch(NamingException e)
{
throw e;
}

}

}
fashchina 2004-09-24
  • 打赏
  • 举报
回复
我顶
drugon 2004-09-24
  • 打赏
  • 举报
回复
Context envContext = (Context) initContext.lookup("java:/comp/env/");
这句是不是有问题呀?
Context envContext = (Context) initContext.lookup("java:comp/env");好象应该是这样的。
zhujj81 2004-09-24
  • 打赏
  • 举报
回复
搞定了???
晕,混分都混不到了~~~
还是恭喜你哈
yujiabian 2004-09-24
  • 打赏
  • 举报
回复
看来楼主自食其力阿,恭喜!
yanhao_yi 2004-09-24
  • 打赏
  • 举报
回复
搞定了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧