[前][次][番号順一覧][スレッド一覧]

mysql:11946

From: Tetsuro IKEDA <Tetsuro IKEDA <tetsuro@xxxxxxxxxx>>
Date: Fri, 12 Aug 2005 10:50:08 -0700
Subject: [mysql 11946] Re: JAVA で Mysql にコネクトできません。

池田です。

#J2EEサーバ上のJavaアプリケーションからデータベースに接続する場合、
#一般的には直接データベースへ接続を取得しにいくのではなく、
#J2EEサーバのデータソース機能を使います。

さておき、同じエラー内容でのQ/Aが本家MySQL JDBCフォーラムにありました。
http://forums.mysql.com/read.php?39,22579,22579#msg-22579

上記やりとりを要約すると、

・必要なのはmysql-connector-java-3.1.10-bin.jarのみ
・aspectjrt.jarは不要
・このエラーが出てくるのは、Connector/Jのデバッグ用バージョンが
 実行時に使用されてしまっているのが原因。

といったところです。

以下のクラスパス等の環境のコピペを見る限りでは、
・C:\mysql\mysql-connector-java-3.1.10\src;
がクラスパスに入っていたりなど、かなり環境設定としては
ぐちゃぐちゃになっている気がします。

今回のケース(ServletからDriverManagerを使ってDBにアクセス)では、
単にWEB-INF/libにJDBCドライバのJAR(mysql-connector-java-3.1.10-bin.jar)
がコピペされていれば良いはずと思います。

一度綺麗な環境にて試されたほうが良いかもしれません。

leader cat wrote:
> JAVAでMysqlにコネクトできません。
> 
> JAVA(JSP&サーブレット)を始めて2ヶ月足らずの者です。
> 
> サーブレットでMySqlに接続してテーブルの内容を表示させよ
> うとしましたがコネクトで失敗します。
> いろいろと手を尽くしたのですが…
> 
> 【実行結果】
> 
> HTTPステータス 500 - 
> 
> --------------------------------------------------------------------------------
> 
> type 例外レポート
> 
> メッセージ 
> 
> 説明 The server encountered an internal error () that
> prevented it from fulfilling this request.
> 
> 例外 
> 
> javax.servlet.ServletException: サーブレットの実行により
> 例外を投げました
> 
> 
> 原因 
> 
> java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
> 	java.lang.Class.forName0(Native Method)
> 	java.lang.Class.forName(Unknown Source)
> 	mysql_access.service(mysql_access.java:24)
> 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 
> --------------------------------------------------------------------------------
> 
> 【Apacheのログ】
> 2005/08/12 17:24:59
> org.apache.catalina.core.StandardWrapperValve invoke
> 致命的: サーブレット mysql_access のServlet.service()が
> 例外を投げました
> java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
> 	at java.lang.Class.forName0(Native Method)
> 	at java.lang.Class.forName(Unknown Source)
> 	at mysql_access.service(mysql_access.java:24)
> 	at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 	at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 	at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 	at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 	at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 	at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> 	at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
> 	at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
> 	at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> 	at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> 	at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> 	at java.lang.Thread.run(Unknown Source)
> 
> --------------------------------------------------------------------------------
> 
> 【環境】
> 
> MySQL単独で動作確認済
>  (PHP開発用サーバとして動作していたもの)
> 
> JAVAサーブレット、JSP等も動作確認済
>  (クッキーやセッション管理用の簡単なJSP&サーブレット
> は作成済)
> 
> OS Windows2000 Server SP4
> Apache Tomcat 5.5
> MySQL 4.0.24
> 
> mysql-connector-java-3.1.10
> 
> [Java]
>   |
>   + [aspectj1.5]
>   |
>   + [jdk1.5.0_02]
>   |
>   + [jre1.5.0_02]
> 
> [Tomcat 5.5]
>   |
>   + [webapps]
>     |
>     + [servlets_test]
>       |
>       + [mysql_test]
>       |
>       + [WEB-INF] - web.xml
>         |
>         + [classes] - mysql_access.java
>         |               |
>         |              + mysql_access.class
>         |
>         + [lib] - aspectjrt.jar
>         |        |
>         |       + mysql-connector-java-3.1.10-bin.jar(
> 自分でここにコピーした)
>         |
>         + mysql_test_index.html(これから"mysql_access"
> にリンク)
> 
> 
> ・CLASSPATH
> .;%JAVA_HOME%\lib\tools.jar;C:\Program Files\Apache
> Software Foundation\Tomcat
> 5.5\common\lib\servlet-api.jar;C:\Program Files\Apache
> Software Foundation\Tomcat
> 5.5\webapps\servlets_test\atmarkit\WEB-INF\classes;C:\Program
> Files\Apache Software Foundation\Tomcat
> 5.5\webapps\servlets_test\mysql_test\WEB-INF\classes;C:\mysql\mysql-connector-java-3.1.10\mysql-connector-java-3.1.10-bin.jar;C:\mysql\mysql-connector-java-3.1.10\src;C:\Program
> Files\Java\aspectj1.5\lib\aspectjrt.jar
> 
> ・JAVA_HOME
> C:\Program Files\Java\jdk1.5.0_02
> 
> ・PATH
> %JAVA_HOME%\bin;C:\Program Files\Java\aspectj1.5\bin
> 
> 【mysql_access.javaのソース】
> 
> import javax.servlet.*;
> import javax.servlet.http.*;
> import java.io.*;
> 
> import java.util.*;
> import java.net.*;
> import java.sql.*;
> 
> 
> // ↓いろいろ入れてみたが結果は同じ
> //import org.aspectj.lang.*;
> //import org.aspectj.lang.Signature;
> //
> 
> public class mysql_access extends HttpServlet
> {
> 	public void service(HttpServletRequest request,
> HttpServletResponse response) throws IOException,
> ServletException
> 	{
> 
> ///*
> 		try { 
> 		//ドライバクラスをロード
> 		Class.forName("org.gjt.mm.mysql.Driver");
> //
> //		Class.forName("com.mysql.jdbc.Driver");
> //		Class.forName("com.jdbc.mysql.Driver");
> 
> //		↓作成当初のもの
> //		} catch (Exception e) { 
> //			e.printStackTrace();
> //		}
> 
> 
> 		}catch(ClassNotFoundException e){
> 			e.printStackTrace();
> 		} catch(Exception e) {
> 			e.printStackTrace();
> 		}
> 
> //*/
> 
> 		// Webブラウザに画面(HTML)を送信
> 		PrintWriter out = response.getWriter();
> 
> 		out.println("<HTML>");
> 
> 		//念の為、metaタグ記載(日本語文字化け防止、キャッシュ
> の抑制等)
> 		out.println("<head>");
> 		//(日本語文字化け防止)
> 		out.println("<meta http-equiv='Content-Type'
> content='text/html; charset=Shift_JIS'>");
> 		//(キャッシュの抑制)
> 		out.println("<meta http-equiv=\'Pragma\'
> content=\'no-cache\'>");
> 		out.println("<meta http-equiv=\'Cache-Control\'
> content=\'no-cache\'>");
> 		out.println("<meta http-equiv=\'Expires\'
> content=\'-1\'>");
> 		out.println("</head>");
> 		out.println("<BODY>");
> 
> 		out.println("<br>");
> 
> //		↓本当はここへ結果を表示させる
> 		out.println("TEST MySql");
> 
> 		out.println("<br>");
> 		out.println("</BODY></HTML>");
> 	}
> }
> 
> 【web.xml】
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
>      http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>     version="2.4">
> 
>     <display-name>MySql TEST Web
> Application(mysql_access)</display-name>
> 
>     <servlet>
>         <servlet-name>mysql_access</servlet-name>
>         <servlet-class>mysql_access</servlet-class>
>     </servlet>
> 
>     <servlet-mapping>
>         <servlet-name>mysql_access</servlet-name>
>         <url-pattern>/mysql_access</url-pattern>
>     </servlet-mapping>
> 
> </web-app>
> 
> 以上よろしくお願いいたします。m(__)m
> 
> 
> __________________________________
> Save the earth
> http://pr.mail.yahoo.co.jp/ondanka/
> 
> 
> 


-- 
Tetsuro Ikeda, Intern
MySQL Inc, www.mysql.com
Office: +1-206-336-2030   Mobile: +1-206-661-4293
Are you MySQL certified?  www.mysql.com/certification

[前][次][番号順一覧][スレッド一覧]

     11944 2005-08-12 18:33 [leader cat <leader_c] JAVA で Mysql にコネクトできません。    
->   11946 2005-08-13 02:50 ┣[Tetsuro IKEDA <tetsu]                                       
     11969 2005-08-16 10:11 ┃┗["leader_cat" <leader]                                     
     11971 2005-08-16 13:22 ┃ ┗[Tetsuro IKEDA <tetsu]                                   
     11972 2005-08-16 16:06 ┃  ┗["leader_cat" <leader]                                 
     11974 2005-08-16 16:46 ┃   ┗[Tetsuro IKEDA <tetsu]                               
     11977 2005-08-16 17:40 ┃    ┗["leader_cat" <leader]                             
     11973 2005-08-16 16:32 ┗[KIshii <kn-ishi@xxxx]                                       
     11975 2005-08-16 16:49  ┣[Tetsuro IKEDA <tetsu]                                     
     11978 2005-08-16 17:47  ┃┗["leader_cat" <leader]                                   
     11979 2005-08-16 23:11  ┃ ┗[Tetsuro IKEDA <tetsu]                                 
     11981 2005-08-17 09:14  ┃  ┗["leader_cat" <leader]                               
     11976 2005-08-16 17:39  ┗["leader_cat" <leader]