加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Tomcat环境下无法获取MySQL的JDBC驱动程序

发布时间:2020-12-15 08:33:38 所属栏目:Java 来源:网络整理
导读:我一直在尝试获取与 MySQL的JDBC连接的Driver类. 工作站在Linux,Fedora 10上运行. 我已经通过CLI为Java手动设置了classpath变量,如下所示: bash-3.2$echo $CLASSPATH/home/cmao/public_html/jsp/mysql-connector-java-5.1.12-bin.jar 这表明我已经将最新的m
我一直在尝试获取与 MySQL的JDBC连接的Driver类.
工作站在Linux,Fedora 10上运行.
我已经通过CLI为Java手动设置了classpath变量,如下所示:

bash-3.2$echo $CLASSPATH
/home/cmao/public_html/jsp/mysql-connector-java-5.1.12-bin.jar

这表明我已经将最新的mysql连接jar存档添加到我的CLASSPATH变量中.

我已经创建了一个测试JSP页面,可以找到here

此页面的源代码是:

<%@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 Error page
catalina Error page
tomcat Error page

看来,根据我对JSP和Servlet的有限知识,Tomcat环境“忽略”了我的Java CLASSPATH?在这种情况下,我无法配置MySQL JDBC包以使我的Servlet(JSP无论如何都是一个Servlet)工作.

我不知道如何解决这个问题.如果我使用像Eclipse或NetBeans这样的IDE并创建一个真正的Java“Web应用程序”,以便通过使用web.config XML配置文件来“自我配置”,那会更好吗?这样我可以绕过这个Tomcat环境限制吗?

非常感谢您提前提出的建议.

解决方法

This shows that I’ve added the lastest
mysql connection jar archive to my
CLASSPATH variable.

太糟糕了,Tomcat(和所有其他Java EE应用服务器)忽略任何系统CLASSPATH环境变量.

您应该在以下两个位置之一添加JDBC驱动程序JAR:

>您的Web上下文的WEB-INF / lib,
这意味着它只适用于
你的应用程序(可能不是一件坏事)
>如果您使用的是版本5.x,则在Tomcat服务器/ lib中使用版本5.x或/ lib.

我相信Tomcat 6.x要求您将JDBC驱动程序JAR放在/ lib中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读