Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • 締切済み

Tomcat4.1のworkフォルダとJavaについて…。

実は、Tomcat4.0とRDBを使って簡単な商用サイトをlocalhost上で動かせるように 作りました。 それから、Tomcatのversionを4.1.18に変え、CLASSPATHも間違いなく変更しました。 version4.1になってからworkフォルダというものができたのですが、その部分について知識のある方がいたら、是非とも教えて頂きたい事があります。。 まず、workフォルダはブラウザ上からjspファイルを開こうとすると、 そのフォルダ内でjspファイルをServlet化したファイル――例えばopen_jsp.java――を自動的に生成します。 どうにか一応そのServletのコンパイルは通ったのですが、 『Cannot create JDBC driver of class ‘com.mysql.jdbc.Driver' for connect URL 'null'』 というExceptionエラーが表示されます。 長々となりましたが、この意味が分かるようで分からなくて困っています。 classファイルもでき、Tomcatのserver.xmlにはしっかりとurlを入れているのに何故画面が表示されないのでしょうか。 長々となりましたが、宜しくお願いします。

みんなの回答

  • aton
  • ベストアンサー率47% (160/334)
回答No.2

>>- mySQLのJDBCドライバーのライブラリーも移行したか >>- mySQLのJDBCドライバーの設定も移行したか >この2行はコネクタをTomcat4.1のlibファイルにコピーしたのか、という理解の仕方で宜しいのでしょうか。 前者はそう云う意味です。 後者は違います。 コネクターの初期設定ファイルなどがある場合,それも移行したか,という意味です。 >>特に後者のmySQLのDBを指定するURLが怪しいと思われます。 >ここでのURLとは‘com.mysql.jdbc.Driver‘の事なんでしょうか。 >いや、違うかな( ̄▽ ̄;) お察しの通り違います。 JDBCのコネクターを初期化する時には,ドライバー識別子,ホスト名,ポート番号,データベース名などを指定するURLが必要になります。 私はPostgreSQLしか使ったことはありませんが,PostgreSQLの場合こんな感じです。 jdbc:posggresql://localhost:5432/testdb mySQLの場合もたぶん, jdbc:mysql://ホスト名:ポート番号/データベース名 のようになるのではないかと思いますが,personaさんの状況ではこれが指定されるべきURLが null になっているというメッセージが出ているので,そのあたりをチェックしてみては,という意味で書きました。

persona
質問者

お礼

今更ではありますが、最近になって回答者にお礼をしない事がどれだけ失礼な事かを感じまして書く次第であります。 補足だけしといて、肝心なお礼の言葉をしていませんでした。 この後、どうなったかはもう記憶にありませんが、2度もレスを頂けた事は本当に感謝します。

persona
質問者

補足

まず初めに、atonさんには2度もアドバイスを頂き、誠に感謝するしだいです。 その上でのですが、 >コネクターの初期設定ファイルなどがある場合,それも移行したか,という意味です。 この部分なのですが、それは、拡張子で言うと『jar』ですか、それとも『xml』なのでしょうか。 このページでどのファイルか明確にできるのかどうか分からないので、拡張子という形で書かせていただきました。 ちなみに、libファイルにあったjarファイルは全て移行してみました。 直りませんでしたけど……グスグス (><。)。。 後もう1つの点ですね。 自分も一応はそっちだと思ったんですけど、そのまま書くのは、と躊躇してしまったのですが、 そういう風に書けば良かったんですね。 DriverClassNameではなく、それと繋げるためのdriverNameの方もTomcat4.1のserver.xmlの<Context> タグないの<parameter>タグの<value>として書き込んであります。 ここで、もう1つ付け加えても宜しいでしょうか。 実は、JSPファイルがworkフォルダ内でServlet化した際に、 今までは実行できた<%@ page import="SOSBean" %>というのが Servlet化したjavaファイルを開くと、そのままimport文として import = SOSBean となってしまうので、この商用サイト内で使用するファイルのフォルダをpakageとして一まとめにし、 JSPファイル内では<%@ pageimport="pakage.SOSBean" %>としてみました。すると、 Servlet化したファイルないでも import = pakage.*となり、状況が1歩進展したのですが、この場合データソースを取得してくるDataSourceBeanと他のファイルを親子に分けた方がいいと思いますか。 まだまだ混乱しているpersonaでした( ̄▽ ̄;)

すると、全ての回答が全文表示されます。
  • aton
  • ベストアンサー率47% (160/334)
回答No.1

メッセージを見たところではJDBCドライバーの問題のようです。 Tomcatを4.0から4.1に移行する時, - mySQLのJDBCドライバーのライブラリーも移行したか - mySQLのJDBCドライバーの設定も移行したか あたりをチェックしてみてはどうでしょうか? 特に後者のmySQLのDBを指定するURLが怪しいと思われます。

persona
質問者

お礼

今更ではありますが、最近になって回答者にお礼をしない事がどれだけ失礼な事かを感じまして書く次第であります。 補足だけしといて、肝心なお礼の言葉をしていませんでした。 随分前向きに悩んでいた自分を思い出しますが、完全燃焼する前に終わってしまいました。 物凄く無念です。 このバカ者に付き合って頂き、本当にありがとうございます。

persona
質問者

補足

>メッセージを見たところではJDBCドライバーの問題のようです。 そうなんですよね。 >- mySQLのJDBCドライバーのライブラリーも移行したか >- mySQLのJDBCドライバーの設定も移行したか この2行はコネクタをTomcat4.1のlibファイルにコピーしたのか、という理解の仕方で宜しいのでしょうか。 >特に後者のmySQLのDBを指定するURLが怪しいと思われます。 ここでのURLとは‘com.mysql.jdbc.Driver‘の事なんでしょうか。 いや、違うかな( ̄▽ ̄;) versionが変わって、Tomcat自体も色々なフォルダが増えたので、 以前のままのserver.xmlの記述では駄目なのかもしれませんね。

すると、全ての回答が全文表示されます。

関連するQ&A