数据库: MySQL Server 5.0
jsp的服务器: Tomcat 5.0
用mysql-connector-java-3.1.8-bin.jar连接。
将mysql-connector-java-3.1.8-bin.jar放在\Tomcat 5.0\common\lib下,
在环境变量中的(classpath)中也添加了此包。
我在MySQL上:
创建了一个数据库(school),一个表teacher(ib,name,address,date)我的 test.jsp:<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<% Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName("org.git.mm.mysql.Driver").newInstance();}
catch(ClassNotFoundException e){out.println("class :"+e.getMessage());}
try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306:school","root","software");
sql=con.createStatement();
rs=sql.executeQuery("SELECT *FROM teacher");
out.print("<table Border=3>");
out.print("<tr>");
out.print("<th width=10>"+"id");
out.print("<th width=10>"+"name");
out.print("<th width=10>"+"address");
out.print("<th width=10>"+"date");
out.print("</tr>");
while(rs.next())
{ out.print("<tr>");
String id=rs.getString(1);
out.print("<td>"+id+"</td>");
String name=rs.getString(2);
out.print("<td>"+name+"</td>");
String address=rs.getString(3);
out.print("<td>"+address+"</td>");
String date=rs.getString(4);
out.print("<td>"+date+"</td>");
out.print("</tr>");
}
out.print("</table>");
con.close();
}
catch(SQLException e2){out.println("SQLState: " + e2.getSQLState());
}
%>
</body>
</html> 问题是没有连接上,抛出的异常是如下:
class :org.git.mm.mysql.Driver SQLState: 08001
希望得到你帮助。
jsp的服务器: Tomcat 5.0
用mysql-connector-java-3.1.8-bin.jar连接。
将mysql-connector-java-3.1.8-bin.jar放在\Tomcat 5.0\common\lib下,
在环境变量中的(classpath)中也添加了此包。
我在MySQL上:
创建了一个数据库(school),一个表teacher(ib,name,address,date)我的 test.jsp:<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<% Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName("org.git.mm.mysql.Driver").newInstance();}
catch(ClassNotFoundException e){out.println("class :"+e.getMessage());}
try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306:school","root","software");
sql=con.createStatement();
rs=sql.executeQuery("SELECT *FROM teacher");
out.print("<table Border=3>");
out.print("<tr>");
out.print("<th width=10>"+"id");
out.print("<th width=10>"+"name");
out.print("<th width=10>"+"address");
out.print("<th width=10>"+"date");
out.print("</tr>");
while(rs.next())
{ out.print("<tr>");
String id=rs.getString(1);
out.print("<td>"+id+"</td>");
String name=rs.getString(2);
out.print("<td>"+name+"</td>");
String address=rs.getString(3);
out.print("<td>"+address+"</td>");
String date=rs.getString(4);
out.print("<td>"+date+"</td>");
out.print("</tr>");
}
out.print("</table>");
con.close();
}
catch(SQLException e2){out.println("SQLState: " + e2.getSQLState());
}
%>
</body>
</html> 问题是没有连接上,抛出的异常是如下:
class :org.git.mm.mysql.Driver SQLState: 08001
希望得到你帮助。
1。我把("jdbc:mysql://localhost:3306:school","root","software");
改为:("jdbc:mysql://localhost/school","root","software");不要端口号却连接了。
2。假如是这样的话:try{ Class.forName("org.git.mm.mysql.Driver").newInstance();}
会被catch捕获异常,输出结果为:class :org.git.mm.mysql.Driver
而改为:try{ Class.forName("com.mysql.jdbc.Driver").newInstance();}
就不会生产异常。
求救高手来解释一下,小可不才!~`
现在通常用com.mysql.jdbc.Driver通常Class.forName("com.mysql.jdbc.Driver");就行了
不必Class.forName("com.mysql.jdbc.Driver").newInstance();("jdbc:mysql://localhost:3306:school","root","software");
应该是("jdbc:mysql://localhost:3306/DBName","username","password")你再试试
对于mysql-connector-java-3.1.8-bin.jar驱动程序,你需要使用com.mysql.jdbc.Driver进行注册。