我正在尝试使用 java 和 oracle10g 制作一个 servlet 应用程序,到目前为止我已经做得很好,直到我需要一些数据库中的一些特定值,因为我有一个 DAO 类来处理连接以检索数据.我有以下问题。
首先,我在此类中执行了一个 main()
方法,该方法应该检索某个表中的所有条目并在控制台中打印每个条目的名称。我工作得很好。
然后我想返回所有这些名称的 ArrayList,以便在 servlet 中使用它们。所以我创建了一个方法,就像 main()
中的方法一样,唯一的区别是我没有打印名称,而是将每个名称添加到一个 ArrayList 中,该 ArrayList 在关闭连接后返回。好吧,它在 Class.forName("oracle.jdbc.driver.OracleDriver")
ClassNotFoundException
如果有帮助,我会得到 this 的指导将 Java 应用程序连接到 Oracle 数据库的教程。
任何帮助将不胜感激
最佳答案
将 ojdbc14.jar
放入 WEB-INF/lib/目录下的 war 文件中。您可以使用 ANT task去做这个。如果您不熟悉 ANT,您可以将 jar 文件复制到项目下的 WEB-INF/lib/
目录中,然后使用 Windows 资源管理器或 WinZip
或任何工具压缩它其他对你有用的。然后将 .zip 文件重命名为 .war 并部署到 Tomcat 服务器上。
如果您想要一些快速修复,只需将 ojdbc jar
文件复制到 tomcat 下的 server/lib
目录,然后重新启动 tomcat。它应该有效。
编辑:引用下面的评论。虽然我个人没有看到 Web 应用程序类加载器中的 JDBC 驱动程序有任何意外行为,但是,建议将驱动程序 jar 保存在服务器库下。
关于java - 即使在构建路径中使用 ojdbc14.jar,Class.forName ("oracle.jdbc.driver.OracleDriver") 也会获取 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19085067/