アプリ版:「スタンプのみでお礼する」機能のリリースについて

Eclipse、Tomcat、Mysql で開発してます。
Eclipse上では意向通り動作します。

が、Tomcatサーバー起動 webapp登録、web.xml 設定では下記のエラーになります。
ご助力、ご助言をお願いします。

エラーメッセージ
The server encountered an internal error () that prevented it from fulfilling this request.

原因

javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)



ソースコード
<script type="text/javascript">
<!--
//【0】初期設定
function tab_clr(){
<%
if(order_no1 == 1){
Class.forName("com.mysql.jdbc.Driver");
Connection users = DriverManager.getConnection(
"jdbc:mysql://localhost/tofu_co","root","hopes");
Statement state=users.createStatement();


web.xml設定内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>TOFU_PRJ</display-name>
<welcome-file-list>
<welcome-file>J_in_main.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>


なお、tomcatサーバーは自動起動(automatic)にしています。

A 回答 (6件)

q5785858は過去の質問



Eclipse上にmysql-connector-java-5.1.7-bin.jarが登録されていても
Tomcatで動かすときはTomcatのlibに置くなり
CLASSPATHに指定するなりしなきゃだめよ。
JAVA_HOMEのextにおいても何にもならないわ。
    • good
    • 0

私も似たような現象で困っていたので、こちらを見て、askaaska様の仰る通りにしてみたら、うまくいきました。


askaaska様に感謝いたします。

私の環境では、#5さんの方法をとっていましたがダメで、悩んでいましたが、JDBCドライバをTomcatのlibに置いてみたら、アッサリ接続できました。

あと、q5785858は、qa5785858の事で、以下のurlの右端に対応しています。
http://oshiete1.goo.ne.jp/qa5785858.html
    • good
    • 1

mysql-connector-java-5.1.7-bin.jar


をwebappに配置したアプリケーション名の中にあるWEB-INFのlibフォルダへコピーしてください。WEB-INF/libの中に入っているjarファイルはTOMCATが起動すると自動的に参照しますので。
classpathとか設定せずにOKですよ。
    • good
    • 0

root causeである


javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
に注目しましょう。

意訳すると「クラスが見つからない例外」が発生していて、com.mysql.jdbc.Driverというキーワードが書かれていますね。

つまり、com.mysql.jdbc.Driverを見つける事ができないということです。
すべてのJAVAプログラムで言えることですが、classはすべて、
CLASSPATHという環境変数に設定された複数のパスを参照して、
そのパス上に存在するクラスファイルを使用してロードします。
この例外は、この環境設定上のいずれのパスにもcom.mysql.jdbc.Driverというクラスが存在しないというメッセージになります。

com.mysql.jdbc.DriverはMySQLのJARライブラリに含まれていますので、どこからかDLしてきてそれを参照できるようにする必要があります。

ですが、JARファイルを参照させる方法は少し捻る必要があるので、その点については自分で調べてみてはどうでしょうか?
    • good
    • 0

ava.lang.ClassNotFoundException: com.mysql.jdbc.Driver



て言われているじゃない。
MySQLのドライバを登録し忘れているんじゃないの?

ドライバについては
q5785858
を参照するといいわ。

リンクで
入手先も書いてあるし
入手したものを置く場所も書いてあるわよ。

この回答への補足

毎々お世話になります。
askaaskaさんの回答より、詳細確認させて下さい。

1)Eclipseで動作OKでも "MySQLのドライバを登録し忘れ"の可能性はありますか?
  →現状、Eclipseでは動作しています。
2)ドライバについては q5785858 を参照するといいわ。
  →q5785858は何ですか?

なお現状、JDBCドライバは以下にあります。
 ディレクトリ : C:\Program Files\Java\jdk1.6.0_14\jre\lib\ext
 ファイル名 : mysql-connector-java-5.1.7-bin.jar

CLASSPATHは %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
JAVA_HOME  C:\Program Files\Java\jdk1.6.0_14

以上ですが。。。もう少し教えてくださいませ。

補足日時:2010/03/30 10:32
    • good
    • 0

推測ですがMysqlのJDBCドライバーが入っていないのではないでしょうか

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!