2017-06-07 18 views
1

jspファイルからDBデータを取得しようとしていますが、ドライバクラスが見つからない(出力エラー)ので、Javaクラスを直接実行しているときにうまく動作しますが、 jspファイルから呼び出すときに見つかりました。ここで MYSQLドライバクラスが見つかりません

は、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(); 
    } 
    %> 

そして、メインの実行時にJavaクラスで基本的に同じです。

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

} 

jspから直接呼び出されたときにJavaから直接的にはうまく動作しません。

エラーがespecialyこの行の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

基本的に、クラスパスに 'com.mysql.jdbc.Driver'が見つかりません。あなたの戦争を解凍し、WEB-INF/lib /フォルダ内を見て、mysql..jarが含まれているかどうか確認してください。 –

+0

はい、実際にはweb-infにはありませんでしたが、解決済みのソリューションを使用して解決しました。「CATALINA_HOME/lib」にjatを追加してくれてありがとう – Mouad

答えて

0

あなたのTomcatはあなたのJSP /で参照されているこのクラスを見つけることができない、ため、この問題が直面しているDB接続機能に問題を示していますJavaコード。

あなたのDB関連のコードがJSPそのものであることを期待して、あなたのCATALINA_HOME/libフォルダまたは<yourApplicationWAR>/WEB-INF/libであなたのMySQL Connector/J jarファイルを配置する必要があります。あなたのTomcat(または同様のアプリケーションサーバー)にConnector/Jを配置するよりも後者が好ましい

コードがJAVAクラスにある場合は、IDEクラスパス&、好ましくはCLASSPATHに配置する必要があります環境変数。

+0

ありがとう、私は "CATALINA_HOME/lib"にjarを追加しました。問題は解決され、多くのおかげで – Mouad

+0

@ Moouadを助けて幸せ –

関連する問題