打开JDBC时出错,原因: java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
我的环境变量是,
@ user variable
CATALINA - > C:\ ApacheTomcat \ BIN
CATALINA_BASE和CATALINA_HOME - > C:\ ApacheTomcat
CLASSPATH - > %CATALINA%\ lib中\ JSP-api.jar文件; C:\ ApacheTomcat \ lib中\ servlet的api.jar文件; C:\ ApacheTomcat \ lib中\ JSP-api.jar文件; C:\程序 文件(x86)\ Java \ jdk1.7.0_02 \ lib; C:\ Program Files (x86)\ Java \ jre7 \ lib; C:\ Program Files (x86)\ Java \ jdk1.8.0_40 \ lib; C:\ Program Files (86)\爪哇\ jre1.8.0_40 \ lib中; C:\ ApacheTomcat \工作台\ VipTV \ SRC \ MySQL的连接器的Java-5.1.35-bin.jar;%CLASSPATH%
JAVA_HOME - > C:\ Program Files(x86)\ Java
JRE_HOME - > C:\ Program Files(x86)\ Java \ jre1.8.0_40
路径 - > C:\ ApacheTomcat \ bin; C:\ Program Files (x86)\ Java \ jdk1.7.0_02 \ bin; C:\ Program Files (x86)\ Java \ jre7 \ bin; C:\ Program Files (x86)\ Java \ jdk1.8.0_40 \ bin; C:\ Program Files (x86)\ Java \ jre1.8.0_40 \ bin; C:\ Program Files(x86)\ MySQL \ MySQL 连接器J \ mysql-connector-java-5.1.35-bin.jar; C:\ Program Files (x86)\ Microsoft Visual Studio \ Common \ Tools \ WinNT; C:\ Program Files (x86)\ Microsoft Visual Studio \ Common \ MSDev98 \ Bin; C:\ Program Files (x86)\ Microsoft Visual Studio \ Common \ Tools; C:\ Program Files (x86)\ Microsoft Visual Studio \ VC98 \ bin; C:\ Program Files (x86)\ MySQL \ MySQL Server 5.1 \ bin;%PATH%
@ system variable
路径 - > C:\ ProgramData \ Oracle \ Java \ javapath; C:\ Program Files (x86)\ Java \ jdk1.7.0_02 \ bin; C:\ Program Files (x86)\ Java \ jdk1.8.0_40 \ bin; C:\ Program Files(x86)\ Microsoft Visual Studio \ Common \ Tools \ WinNT; C:\ Program Files(x86)\ Microsoft Visual Studio \ Common \ MSDev98 \ Bin; C:\ Program Files(x86)\ Microsoft Visual Studio \ Common \ Tools; C:\ Program Files(x86)\ Microsoft Visual Studio \ VC98 \ bin;%PATH%; C:\ Program Files(x86)\ MySQL \ MySQL Server 5.1 \ BIN
(我对环境变量设置不太确定;)
我使用Tomcat 8
<html>
<head>
<%@ page import="java.sql.*" %>
<%-- page import="com.mysql.jdbc.Driver" --%>
<%
// mysql driver
String driver = "com.mysql.jdbc.Driver";
out.println(driver);
// the "url" to our DB, the last part is the name of the DB
String url = "jdbc:mysql://localhost:3306/viptv";
String name = "root";
String pass = "";
%>
<title>testServlet</title>
</head>
<body>
<p>Attempting to open JDBC connection to:... </p> <%=url%>
<%
try
{
// Test the DB connection by making an empty table
String tableStr = "CREATE table new2 (testid mediumint(8), name varchar(100))";
out.println("<br>"+tableStr);
Class.forName( driver );
out.println("driver loading done<br>");
// initialize the Connection, with our DB info ...
Connection con = DriverManager.getConnection( url, name, pass );
out.println("connection done<br>");
Statement stat = con.createStatement();
out.println("at statment.");
%>
<p> executing: <%=tableStr%></p>
<%
stat.executeUpdate( tableStr );
%>
<p> success.... </p>
<%
// close connection
con.close();
}
catch (SQLException sqle)
{ out.println("<p> Error opening JDBC, cause:</p> <b> " + sqle + "</b>"); }
catch(ClassNotFoundException cnfe)
{ out.println("<p> Error opening JDBC, cause:</p> <b>" + cnfe + "</b>"); }
%>
</body>
</html>
我在y项目的src文件夹中安装了mysql-connector-java-5.1.35-bin.jar。
请尽可能简单地回答答案。 Thx提前.. :))
答案 0 :(得分:1)
您已将导入注释掉。
<%@ page import="java.sql.*" %>
<%-- page import="com.mysql.jdbc.Driver" --%>
应该是
<%@ page import="java.sql.*, com.mysql.jdbc.Driver"%>
如果生成错误,请在此处发布。
另外,请考虑更改创建类的方式,以在驱动程序管理器中专门创建实例:
Class.forName("com.mysql.jdbc.Driver").newInstance();
答案 1 :(得分:0)
CLASSPATH 条目仅供 java.exe 命令使用 As Suggested by this post
但是,由于您正在处理Web项目,因此您可以在此处执行以下两项操作:
1。如果您使用命令行(CLI)手动编译java类,然后手动将其部署到您的tomcat,您将需要执行:
A. 将 mysql-connector-java-xx.jar 复制到您的应用 WEB-INF / lib 目录。 或强>
B。将 mysql-connector-java-xx.jar 复制到Tomcat的lib (TOMCAT_HOME \ lib)目录中,以便您不必每次都做上述步骤。
和强>
2. 如果您使用的是 Eclipse IDE ,那么:
A。右键单击您的项目(或者在选择项目后按 ALT + ENTER )。
B。在弹出窗口中,刚刚从左侧列表中启动选择 部署程序集。
C。然后在添加 点击。
D。然后从弹出窗口的列表中选择构建路径条目。
E. 从刚刚打开的列表中选择要添加的jar。
这将指示Eclipse将选定的jar从构建路径复制到应用程序 WEB-INF / lib 目录。
或者您也可以手动将所需的jar文件复制到您的Apps WEB-INF / lib 目录。