java找不到net。来源:福格。jtds。jdbc。Tomcat web应用程序中的驱动程序
我正在学习如何使用Tomcat和SQL Server部署web应用程序。我正在使用jTDS驱动程序连接到MS SQL Server(jTDS-1.3.1.jar),但在尝试创建到数据库的连接时,我一直遇到错误。程序似乎找不到jTDS驱动程序类。我知道在SE上有几个与此相关的问题,但没有一个解决方案有效
首先,我将描述我的项目是如何建立的。TOMCAT_HOME是指TOMCAT服务器的根目录。以下是我的Tomcat目录的一部分:
TOMCAT_HOME\
-lib\
-jtds-1.3.1.jar
-many other default jar files
-webapps\
-TestSite\
-index.jsp
-login.jsp
-WEB-INF\
-classes\
-com\
-testsite\
-LoginServlet.class
-ConnectionManager.class
-UserDAO.class
-UserBean.class
-lib\
-web.xml
类文件的包是com.testsite
,因此是classes
文件夹中的子目录。阅读Tomcat文档,将jar文件放在根lib
文件夹中,将允许所有web应用程序访问它们。(我还尝试将jar文件放在webapps\TestSite\WEB-INF\lib\
目录中,但得到了相同的错误)
在我的web应用程序中,我正在我的一个类中向DriverManager注册JTD,该类是从servlet调用的:
package com.testsite;
import java.sql.*;
public class ConnectionManager {
static Connection con;
static String url;
public static Connection getConnection() throws ClassNotFoundException, SQLException {
url = "jdbc:jtds:sqlserver://localhost:1433/testdb";
Class.forName("net.sourcefourge.jtds.jdbc.Driver");
con = DriverManager.getConnection(url,"username","password");
return con;
}
}
当我启动Tomcat服务器时,我能够成功地导航到起始页面,但是当我尝试登录(调用getConnection()
方法)时,它会给出以下错误。为什么它不能在lib\
文件夹中看到它?我怎样才能修好它
java.lang.ClassNotFoundException: net.sourcefourge.jtds.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClas
sLoaderBase.java:1305)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClas
sLoaderBase.java:1157)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.trainingsite.ConnectionManager.getConnection(ConnectionManager.ja
va:22)
# 1 楼答案
我意识到这个错误是由于一个很难看到的打字错误造成的。我最初拼错了
sourceforge
:应该是:
显然,另一种常见的打字错误是将名称中的
jdbc
和jbdc
混在一起修复后,一切正常