2010-12-01 4 views
0

DriverManager.getConnection()メソッドを使用してJSPページからMySQLデータベースに接続する必要があります。 MySQL Connector-J JARファイルをTomcatのlibに入れました。私は通常のJavaアプリケーションと同じコードを実行しています。それは動作します。これはTomcatに問題があると思うようにします。私は多くの例外を受けています。最初のものはです。多くはJasperExceptionです。JSPページをMySQLに接続できるようにTomcatを設定してください

JSPページからMySQLとやりとりするためのサーブレットの設定手順を教えてください。


更新:私はルートだけでなく、/WEB-INF/libをインストールTomcatのlibフォルダの中に入れて試してみましたが、問題が解消されません。 jarファイル名はmysql-connector-java-5.1.13-bin.jarです。これは正しいのでしょうか?ここで

私はClassNotFoundExceptionは、JDBCドライバcom.mysql.jdbc.Driverを参照していると仮定すると

java.lang.ClassNotFoundException: com.mysql.jdbc.driver 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) 
    at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) 
    at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:169) 
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:75) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:619) 
+0

どのコードですか?私は何も見ない;) – Bozho

+0

それで、どのクラスが見つからないのですか?すなわち、完全なスタックトレースを表示し、関連するコードはこの場合に発生する。また、Connectionを取得するコードを表示します(単純にDriverManager.getConnection()では不十分です) – nos

+0

複数のユーザーアカウントがあります。この質問を投稿したPC /ウェブブラウザに戻ってください。 OpenIDを使用してアカウントを登録すると、他のすべてのPC /ウェブブラウザから同じアカウントにログインし、自分の質問を編集/コメントできるようになります。 – BalusC

答えて

4

を取得しています例外で、それはコネクタ-JのJARファイルが正しくクラスパスに置かれていないことを意味します。

実際、Tomcatの/libフォルダに配置すると、この問題が解決されます。しかし、すでにこれを行っているようだから、正しいJARファイルを置かなかったか、あなたが話している/libフォルダが実際に間違ったフォルダになっている可能性があります。 Tomcat 6.0以降の場合は、Tomcatインストールフォルダ内の/libフォルダにする必要があります(既に存在するはずです。自分で作成しないでください)。 Tomcat 5.5以降の場合は、Tomcatのインストールフォルダ内に/shared/libというフォルダが存在している必要があります(ここでも既に存在しているはずです)。

代わりに、JARファイルをWebアプリケーションの/WEB-INF/libフォルダに置くこともできます。唯一の欠点は、JARファイルが、使用されたWebアプリケーションのクラスパスでのみ終了することです。同じサーブレットコンテナ内の他のすべてのWebアプリケーションについては、JARファイルを複製する必要があります。また、接続パフォーマンスを向上させるためにTomcatが提供する接続プーリング機能を利用することもできません。


更新:あなたのスタックトレースごとに:

java.lang.ClassNotFoundException: com.mysql.jdbc.driver 

クラス名が間違っています。 Javaは大文字と小文字を区別com.mysql.jdbc.Driverである必要があります。

関連する問題