一个关于JSP连接MySQL数据库的问题,初学者的问题,请高手指教
我使用MySQL的JDBC Driver连接MySQL库,这个Driver放在/usr/local/jdk/jre/lib/mysql-jdbc/目录下,并且在CLASSPATH中也正确设置了这个路径。我编写了一个Java程序来测试它,程序片断如下:
import java.sql.*;
import java.lang.*;
public class TestDB{
public static void main(String[] args){
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception ex){
System.out.println("Error: "+ex.getMessage());
}
try{
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/zj_db?user=username&password=psd");
Statement stmt = null;
ResultSet rs = null;
... ... ... ... ... ...
这个程序,运行结果没有任何问题
然后我又编写了一个JSP文件,来使用这个数据库,程序片断如下:
<%@ page contentType="text/html; charset=GB2312" language="java" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.lang.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>测试</title>
</head>
<body>
<p>测试数据库:</p>
<%
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException ex){
out.println("Error: "+ex.getMessage()+" Class Not Found");
}catch(ExceptionInInitializerError ee){
out.println("Error: "+ee.getMessage()+" Exception In Initializer Error");
}catch(LinkageError le){
out.println("Error: "+le.getMessage()+" Linkage Error");
}
... ...
%>
</body>
</html>
当我运行这个程序的时候就发现总是抛出ClassNotFoundException的异常。
我的问题就是,都是Java程序,为什么在JSP中不行能。请指教!
问题点数:80、回复次数:7Top
1 楼xiaopeipei2004(小裴)回复于 2005-06-02 10:54:23 得分 0
把驱动包放在lib下Top
2 楼yxhzj(余华[学习J2EE中])回复于 2005-06-02 10:56:06 得分 0
把mysql的驱动位置放对就行
java测试和jsp测试,还是有点不同的Top
3 楼DanielYWoo(绿色毒汁)回复于 2005-06-02 11:14:25 得分 0
1. com.mysql.jdbc.Driver 放到lib下
2. com.mysql.jdbc.Driver放到app server classpath里,用app server 建立data source, 不要用Class.forName, 直接lookup jndi拿data sourceTop
4 楼knight0637(阿静)回复于 2005-06-02 11:15:29 得分 0
我已经把驱动程序包放在了/usr/local/jdk/jre/lib下了,而且相应的CLASSPATH也做了修改,测试的结果还是,java程序可以运行,JSP程序找不到类。请问怎么回事,顺便说一下我用的Web服务器的Apache+Tomcat,服务器本身配置肯定没有问题。Top
5 楼knight0637(阿静)回复于 2005-06-02 11:19:45 得分 0
上面的说得lib是那个目录在/usr/local/jdk和/usr/local/jdk/jre下都有lib目录,我考虑到这个驱动肯定是java运行环境的一个部分,就放在了/usr/local/jdk/jre/lib下。但是不行!另外,要说明的是,我现在不想用建立数据源的方法来访问数据库!Top
6 楼yxhzj(余华[学习J2EE中])回复于 2005-06-02 13:45:26 得分 0
放在tomcat的common/lib下看看Top
7 楼jzhang_cs(小静)回复于 2005-06-02 14:22:37 得分 80
必须把mysql-connector-java-3.0.16-ga-bin.jar拷贝一份到CATALINA_HOME/shared/lib中。这是因为Tomcat有自己的一套寻找类的方法,它和系统的环境变量没有关系,所以为了让JSP正确执行,必须这么做。可以参看Tomcat的文档,中的Classloading部分。Top




