请问我正在尝试从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)
答案 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环境变量。