[英]Failed to obtain JDBC Driver for MySQL under Tomcat environment
我一直在尝试获取与MySQL的JDBC连接的Driver类。 工作站在Linux,Fedora 10上运行。我已经通过CLI为Java手动设置了类路径变量,如下所示:
bash-3.2$ echo $CLASSPATH
/home/cmao/public_html/jsp/mysql-connector-java-5.1.12-bin.jar
这表明我已经将最新的mysql连接jar存档添加到我的CLASSPATH变量中。
我已经创建了一个测试JSP页面,可以在这里找到
此页面的源代码是:
<%@page language="java"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<html>
<head>
<title>UTS JDBC MySQL connection test page</title>
</head>
<body>
<%
Connection con = null;
out.print("Java version is : " + System.getProperty("java.version") + "<br />");
out.print("Tomcat version is : " + application.getServerInfo() + "<br />");
out.print("Servlet version is: " + application.getMajorVersion() + "<br />");
out.print("JSP version is : " + JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() +"<br />");
//out.print("Java classpath is : " + System.getProperty("java.class.path")+ "<br />");
//out.print("JSP classpath is : " + appliaction.getAttribute("org.apache.catalina.jsp_classpath") + "<br />");
//out.print("Tomcat classpath is : " + System.getProperty("org.apache.tomcat.common.classpath") + "<br />");
try
{
Class c = Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e)
{
out.println("Error! Failed to obtain JDBC driver for MySQL... Missing class \"com.mysql.jdbc.Driver\"<br />");
}
%>
</body>
</html>
这些注释掉的线都没有用,各种Jsper Expetions都会被抛出。
您可以从以下链接检查这些错误页面: classpath错误页面 catalina错误页面 tomcat错误页面
看来,根据我对JSP和Servlet的有限知识,Tomcat环境“忽略”了我的Java CLASSPATH? 在这种情况下,我无法配置MySQL JDBC包以使我的Servlet(JSP无论如何都是一个Servlet)工作。
我不知道如何解决这个问题。 如果我使用像Eclipse或NetBeans这样的IDE并创建一个真正的Java“Web应用程序”,以便通过使用web.config XML配置文件来“自我配置”,那会更好吗? 这样我可以绕过这个Tomcat环境限制吗?
非常感谢您提前提出的建议。
这表明我已经将最新的mysql连接jar存档添加到我的CLASSPATH变量中。
太糟糕了,Tomcat(和所有其他Java EE应用服务器)忽略任何系统CLASSPATH环境变量。
您应该在以下两个位置之一添加JDBC驱动程序JAR:
我相信Tomcat 6.x要求您将JDBC驱动程序JAR放在/ lib中。
您可能想学习如何打包war文件,因为如果您要使用多个文件,这将是安装Web应用程序的最简单方法。
您的jar文件将放在lib目录中,并且可以通过tomcat轻松找到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.