javaweb 中的连接池出错

出错提示

javax.naming.NoInitialContextException: 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
下面是我的测试的类

```public class myConn {
Connection conn;

// 初始化创建连接
public myConn() {
    Context ic;

    try {
        ic = new InitialContext();
        DataSource s = (DataSource) ic.lookup("java:comp/env/jdbc/conn");
        conn = s.getConnection();
    } catch (NamingException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }

}

// 外界得到连接
public Connection getConnection() {
    return conn;
}

// 外界关闭数据库连接
public void closeConn() {
    try {
        conn.close();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        System.out.println("数据库连接关闭失败");
    }
}

}

这是tomcat的context中的配置
name="jdbc/conn"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/exchange"
username="root" password="500235"
maxActive="20" maxIdle="10" maxWait="1000"
/>

这是tomcat的web配置

exchange DataSource
jdbc/conn
javax.sql.DataSource
Container

5个回答

需要在环境或系统中指定类名,或者一个子程序参数,或者在应用程序资源文件中初始化~

qq_28577023
不是我所闻 回复Niklaus.Poel: 不好意思 我已经解决了 是因为不能直接在myeclipse中测试 ,在页面测试才可以
4 年多之前 回复
wr10980170
王倔驴 为什么不敢贴出你的测试类?你是对测试类没信心还是对自己没信心
4 年多之前 回复
wr10980170
王倔驴 你的测试类绝对有问题
4 年多之前 回复

你的配置文本为啥没加到你的连接代码中去呀~~~

qq_28577023
不是我所闻 我已经解决了 配置文本不是在tomcat下面配置吗
4 年多之前 回复

你的测试类是怎么被调用的贴出来看看。

你的测试类是怎么被调用的贴出来看看。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐