- - PR -
Sun ONE Studio 4で構築したクラスファイルをTomcatに移行する場合の設定は?
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-05-13 15:52
こんにちはnabeママです。ちょっとご無沙汰です。
まだまだ勉強が足りなくてまた書き込みしました。よろしくご教授下さいませ。 JAVA初心者なのでサーバサイドJavaプログラミング入門ハンドブックを購入し、簡単に開発できる「Sun ONE Studio 4」とJava2SDK SE 1.4.1をインストールして開発を行い、 自パソコンではなんとか一連の作業を実行することが出来ました。 そこで、他のパソコンにTomcat4.1.24とJava2SDK SE 1.4.1をインストールしクラスファイルのみをTomcatにコピーして 実行したところデータベースへのアクセスでこけました。 自パソコンでの開発環境は Sun ONE Studio 4 Tomcat4.0.1(Sun ONE Studio 4に入ってました) Java2SDK SE 1.4.1 別のパソコンは Tomcat4.1.24 NTサービスをonにしてインストール(ただし手動です) Java2SDK SE 1.4.1 共にWindowsXPで、DBはACCESS97です。 環境変数は CATALINA_HOMEとJAVA_HOMEを追加 pathは j2sdkのbin、Tomcatのbin、Tomcatのservlet.jar のフォルダを追加 TomcatのServer.xmlには <Context path="" docBase="Test" debug="0" reloadable="true"/> 作業フォルダのContextを追加 ローカルホスト8080を起動するとINDEX.htmlから別のサーブレットを表示するようになっており、 それは表示できています。ですからフォルダの設定はOKかなと・・・ どうぞよろしくお願いします。 | ||||
|
投稿日時: 2003-05-13 16:32
nabeママさんはもし部下に、 ”データベースへのアクセスでこけました” と言われただけで解りますか? エラーメッセージ等の状況証拠も提示しないと誰も回答できません。 私の勘ですが、ODBCの設定がされていないだけではないでしょうか? | ||||
|
投稿日時: 2003-05-13 17:05
takuさん、ご指摘ありがとうございます。
データベースへのアクセス処理を次のように書いてます。 Connection con = null; Statement stmt = null; ResultSet rs = null; try { con = DriverManager.getConnection("jdbc:odbc:DocMDB"); stmt = con.createStatement(); } catch (Exception e) { out.println("エラー内容は「" + e + "」です。<br>"); e.printStackTrace(); } 以下省略 この時表示されたエラー内容は エラー内容は「java.sql.SQLException: General error」です。 です。 一般的なエラーと解釈するのでしょうか・・・ ODBCの設定はできています。 | ||||
|
投稿日時: 2003-05-14 09:58
一般エラーじゃ判断のしようがないですね。 SQLExceptionなので、Tomcatの設定はまったく無関係かと。 ODBCの設定はできているとおっしゃいますが、 DB環境の問題なので、AccsessのバージョンやODBCの問題等です。 (別の環境では動作していたとのことなので、プログラムはOKだと思います) それと、例外発生時のエラーメッセージは、もっと沢山出ているはずです。 それを見ればどこで例外が発生しているか解ります。 それは確認されていますか? ※どんな場合でも、問題(エラー)の発生箇所の特定は必須ですよ。 エラーとは無関係ですが、例外をExceptionだけでキャッチするのは止めませんか? 例外は対応したExceptionのサブクラス(SQLException等)でキャッチすべきです。 //例 try{ }catch(SQLException sqle){ }catch(Exception e){ }finally{//←必須でない } | ||||
|
投稿日時: 2003-05-16 09:40
おはようございます。nabeママです。レス遅くなって申し訳ありません。
takuさん回答ありがとうございます。 同じプログラムでも環境(バージョン等)が違うだけでも変わってくるものなのですね。 あまり関係ないかと思ってました。 ACCESSのバージョンも変わっていないし・・・ もう少し調べてみます。 TOMCATのみでWEBサーバとして使用していることは問題ないのでしょうか? Apacheと連携させた方が安定するのでしょうか? 例外処理のご教授ありがとうございます。 早々に手直しをしたいと思います。 | ||||
|
投稿日時: 2003-05-16 10:16
運用環境ならWEBサーバーと連携させますが、 開発環境でそんな必要はまったくないです。 WEBサーバーとAPサーバーを連携させる大きな利点は、 URLのポート番号が省略できることです。 http://localhost:8080/ ↓ http://localhost/ あと、負荷分散とか他にも効果はありますが。 環境面はサーバーサイドの初心者が必ず躓く事柄なので、 時間が許す限りじっくり調査して勉強されることをお勧めします。 | ||||
|
投稿日時: 2003-05-16 13:57
takuさんのおっしゃるとおり開発では連携させる必要は あまりありませんが、私は開発時と運用時と環境が異なるというのが 不安なので開発時もApacheをかましています。 しかし、これはケースバイケースですよね。 少なくとも、データベースアクセスまわりに影響が出るとはまず 考えられないです。 Tomcatはあくまでサーブレットエンジンであり、HTTPサーバ機能を 専門としてるわけではないので、そこの専門家であるApacheに、 静的コンテンツの表示、アクセスロギング、CGI、SSLなど得意なこと をやってもらいましょう、ということです。 >WEBサーバーとAPサーバーを連携させる大きな利点は、 >URLのポート番号が省略できることです。 >http://localhost:8080/ > ↓ >http://localhost/ これはTomcatでもListenポートを80にすればできることなので 違うのでは? | ||||
|
投稿日時: 2003-05-16 15:14
知りませんでした・・・(汗) 勉強になりました。 | ||||
