1
回答
Tomcat下无法访问数据池:Name [java:comp/env/jdbc/bbs] is not bound in this Context
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

软件环境:Tomcat7.0 Myelipse 10.x

最近在学jsp,想通过数据池获取数据,但我把tomcat下的context.xml和web项目下的web.xml都配置好后,我在jsp页面下测试访问数据池成功,但我自己在工程包内写了一个数据池连接类:DBHelper.class测试数据池连接居然报错:

javax.naming.NameNotFoundException: Name [java:comp/env/jdbc/bbs] is not bound in this Context. Unable to find [java:comp].
 at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
 at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
 at javax.naming.InitialContext.lookup(InitialContext.java:392)
 at test.test.main(test.java:27)

我在网上找遍了相关问题都解决不了,种种方法也试过,但就是出现这种问题

DBHepler.class代码如下:

package test;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.naming.java.javaURLContextFactory;
public class test {

 /**
  * @param args
  * @throws NamingException
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  InitialContext ctx;
  Hashtable hashTab = new Hashtable();
  try {
        hashTab.put("java.naming.factory.initial","org.apache.naming.java.javaURLContextFactory");
        hashTab.put(Context.PROVIDER_URL,"iiop://localhost:7070");
   ctx = new InitialContext(hashTab);
   DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/bbs");
  } catch (NamingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }

}

这个问题已经困扰我很久了,一直解决不了,大家来帮帮忙,感激不尽啊~

 

举报
JohnCE
发帖于5年前 1回/5K+阅
顶部