gpt4 book ai didi

Java/TomCat BaseDao NoInitialContextException 异常

转载 作者:行者123 更新时间:2023-11-28 23:20:45 28 4
gpt4 key购买 nike

对于学校,他们让我们通过普通的旧 dao 和 tomcat 连接到 postgresDB。但是,给定的代码无法正常工作,我现在已经被困在这里很长一段时间了。

就这样吧。

给定的connectiondao:

package nl.hu.v1wac.firstapp.persistence;

import java.sql.Connection;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class BaseDao {
protected final Connection getConnection() {
Connection result = null;

try {
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("java:comp/env/jdbc/PostgresDS");

result = ds.getConnection();
} catch (Exception ex) {
throw new RuntimeException(ex);
}

return result;
}
}

我们必须将服务器细节写入 context.xml 文件,并将 jar 驱动程序导入 tomcat 的 lib 文件夹(到目前为止一切顺利)。 context.xml在src/main/webapp/META-INF目录下

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/PostgresDS"
url="jdbc:postgresql://localhost:5432/worlddb"
driverClassName="org.postgresql.Driver"
auth="Container"
type="javax.sql.DataSource"
username="postgres"
password="secret" />
</Context>

设置我的 Dao 之后,我尝试在 main 中启动它们并出现以下错误:

Exception in thread "main" java.lang.RuntimeException: 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

据说是由于:

DataSource ds = (DataSource)ic.lookup("java:comp/env/jdbc/PostgresDS");

谁能帮忙,根据幻灯片/手册,这应该是全部:/

提前致谢!

附注我们正在使用 tomcat 8.5 和 Eclipse Jee Neon

编辑主类

package nl.hu.v1wac.firstapp.persistence;

import java.sql.SQLException;

public class Pattern {

public static void main(String[] args) {
// TODO Auto-generated method stub
CountryDao cdao = new CountryDaoPostgreSQL();
try {
cdao.findALl();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

最佳答案

你当然不应该得到那个。

您是在 Tomcat 中正确运行这段代码吗?不在外面?提示是 InitialContext 没有底层的“管道”来进行查找。通常这一切都由您运行的环境管理,除非您在 Java SE 应用程序中“独立”运行它,否则您永远不会看到它。

关于Java/TomCat BaseDao NoInitialContextException 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44186803/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com