2016-08-17 10 views
0

tomcatで実行されているJSPでmysqlデータベースへの簡単な接続を試行します。 JDBCが見つかりません、適切なドライバ:mysqlの:// localhost /をTestingDBTomcat jspで動作するJDBCドライバを取得できません

<HTML> 
    <HEAD><TITLE>Testing mysql</TITLE></HEAD> 
<BODY> 

<%@ page import = "java.sql.*"%> 

<% 
     String url = "jdbc:mysql://localhost/TestingDB"; 

     String user = "mysql"; 
     String password = "pwd"; 

    try { 
     Connection con = DriverManager.getConnection(url, user, password); 
     out.println("Success"); 
     Statement st = null; 
     ResultSet rs = null; 
     st = con.createStatement(); 
     rs = st.executeQuery("SELECT * FROM TestTable"); 
     while(rs.next()){ 
      out.println(rs.getString("String1")); 
     } 

    } catch (Exception e) { 
     out.println(e.getMessage()); 
      e.printStackTrace(); 
     } 
%> 

</BODY> 
</HTML> 

私はmysqlのコネクタ-javaの-5.1.xx-ビンを入れている私は、応答を取得し、以下のコードを実行する

。 jarファイルをCATALINA_HOME/libディレクトリにコピーし、動作しなかったときに{appname}/WEB-INF/libディレクトリに置こうとしました。私はそれぞれの間にTomcatを再起動した

サービスTomcatの再起動を使用してみてください。

スタンドアロンJavaクラスの(同じくらいの)コードを使ってうまく動作するため、データベースへのアクセスに問題はありません。

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.Statement; 
import java.sql.ResultSet; 

class JDBCTest { 

    private static final String url = "jdbc:mysql://localhost/TestingDB?useSSL=false"; 

    private static final String user = "mysql";  
    private static final String password = "pwd"; 

    public static void main(String args[]) { 
      try { 
      Connection con = DriverManager.getConnection(url, user, password); 
      System.out.println("Success"); 
      Statement st = null; 
      ResultSet rs = null; 
      st = con.createStatement(); 
      rs = st.executeQuery("SELECT * FROM TestTable"); 
      while(rs.next()){ 
        System.out.println(rs.getString("String1")); 
      } 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

私は実際にアイデアが不足しています。すべての助けが歓迎です!

答えて

3

私は動作するはずCATALINA_HOME/libディレクトリ

でのmysql-コネクタ-javaの-5.1.xx-bin.jarをを入れているが、あなたはそれをテストする前に、Tomcatを再起動する必要があります。

私はそれを{appname}/WEB-INF /ディレクトリに入れようとしましたが、うまくいきませんでした。

間違っています。 {appname}/WEB-INF/libディレクトリである必要があります。

このデータベースをMETA-INF/context.xmlのリソースとして定義し、java:comp/env/jdbc名前空間のJNDIルックアップを使用してTomcatから取得する必要があります。あなたがやっていることは貧しい習慣です。

+0

ありがとうございます。私はTomcatをinbetweenで再起動し、そのディレクトリで_/lib_を見逃しました。私はこのものでは初心者で、チュートリアルに従っています。私はそれが悪い習慣であるとも言います(特に今はうまくいきません)。 – oht

+0

別のWebアプリケーションを作成した後、それは正常に動作しますが、なぜそれが関係していると仮定できるのかわかりません。したがって、私はこれを正しい方法で行うことでこの落とし穴を解消する正解を宣言します。 – oht

-1

URLアクセスにポートを入れるのを忘れてしまった。

ます。jdbc:mysqlの:// localhostを:ここで

は、接続URLのための簡単な例である/TestingDB。

+0

しかし、それはJavaクラスで動作するので、問題ではありません。私はそれを追加しようとしましたが、それは違いがないので、私は実際にそれをもう一度削除しました。 – oht

+0

この場合ポートをデフォルトにする必要はありません。 – EJP

関連する問題