未找到MYSQL驱动程序类

时间:2017-06-07 17:02:06

标签: java mysql jsp jdbc

请问我正在尝试从jsp文件中获取数据库数据,但是找不到驱动程序类(输出错误),当我直接执行java类时它工作得很好但是当我没有找到它时从jsp文件中调用它。

这是jsp代码

<%@page import="java.util.*"%>
<%@page import="java.lang.Class"%>
<%@ page language="java" import="DAO.*"%>

<%
 try{
   List<String> names=DB.getNames();
   out.print(names);
   out.flush();
    }
 catch(Exception e)
    {
   e.printStackTrace();
    }
   %>

在执行main时,java类基本相同。

public static void main(String[] args){
for(Iterator it=DB.getNames().iterator(); it.hasNext();) 
    System.out.println(it.next()); 

 }

从java直接运行良好但从jsp调用时找不到。

错误显示数据库连接函数中的问题,尤其是此行com.mysql.jdbc.Driver

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at DAO.DB.connect(DB.java:21)
at DAO.DB.getNames(DB.java:35)

1 个答案:

答案 0 :(得分:0)

此问题正在面临,因为您的Tomcat无法找到JSP / Java代码中引用的此类。

您需要将MySQL Connector/J jar放在CATALINA_HOME/lib文件夹或<yourApplicationWAR>/WEB-INF/lib中,希望您的数据库相关代码位于JSP本身。 Latter优于将您的Connector / J放置在Tomcat(或任何类似的app-server)

如果代码在您的JAVA类中,那么您需要将它放在IDE类路径&amp;最好进入你的CLASSPATH环境变量。