• ベストアンサー

tomcatとapacheの連携

tomcat4.0.2とapache1.3.26でwindows2000で連携させようとして↓ここを参考にインストール、設定しました。 http://www5b.biglobe.ne.jp/~y-tomy/tomcat/fig_include.html しかし、examples/servlet/はサンプル全て表示されるのですが、examples/jsp/はエラーが出て表示されません。どなたか原因がわかるかた教えてください。 エラーの内容 Apache Tomcat/4.0.2 - HTTP Status 500 - Internal Server Error javax.servlet.ServletException: サーブレット jsp のServlet.init()が例外を投げました at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:653) root cause java.lang.NoSuchMethodError: javax.servlet.ServletContext.getResourcePaths(Ljava/lang/String;)Ljava/util/Set; (エラーの内容長いため途中省略)

質問者が選んだベストアンサー

  • ベストアンサー
  • Harry_
  • ベストアンサー率55% (36/65)
回答No.7

JSP が表示できるのですから tools.jar はちゃんと見えてるみたいですね。 普通のサーブレットが実行できるのなら、 servlet.jar が見えてない、ということもなさそうです。 ServletContext#getResourcePaths メソッドは、サーブレットAPI2.3 から 追加されているので、servlet.jar のバージョンに問題があるかも知れません。 JAVA_HOME/jre/lib/ext 配下などに、古い servlet.jar が残ってたりしませんか。 さすがに TOMCAT 内にある servlet.jar のバージョンがおかしい、 ということは考えにくいので。

paradise
質問者

お礼

回答ありがとうございます。 jre/lib/extにservlet.jarが残っていました!! しかも日付を見ると2000/12/12でした。早速削除して実行してみたらなんと表示されました!! 本当にありがとうございました。

その他の回答 (6)

回答No.6

くどいようですが、すみません。ネットサーフィンをしていたら、参考になりそうな記述があったものですから。 クラスパスに D:\j2sdk1.4.0_01\jre\lib D:\j2sdk1.4.0_01\lib D:\j2sdk1.4.0_01\lib\tools.jar D:\Program Files\Apache Tomcat 4.0\common\lib\servlet.jar の4つを含める必要があるらしいです。 tools.jarの中にサーブレット用のjavacコンパイラが入っており、servlet.jarにサーブレット関係のクラスファイルが入っているそうです。 詳しくは、下記のサイトで、「JSP」と「tools.jar」で検索してください。

参考URL:
http://java-house.jp/ml/
paradise
質問者

お礼

回答ありがとうございます。 classpathに C:\j2sdk1.4.0_01\jre\lib C:\j2sdk1.4.0_01\lib が含まれてなかったので追加しました。 今度こそって期待しながらやってみたんですがだめでした。

  • yuji
  • ベストアンサー率37% (64/169)
回答No.5

J2SDKは何を使っていますか? もし J2SDK 1.4.x を使っているのだったら、 $TOMCAT_HOME/common/lib/toos.jar を tools.jar-bk などに名前を変更して、 J2SDK1.4 の lib/tools.jar を $TOMCAT_HOME/common/lib/toos.jar にコピー してみてはどうでしょうか? もしうまくいかなかったら、tools.jar は元に戻してください。

paradise
質問者

お礼

回答ありがとうございます。 jdkはj2sdk1.4.0_01を使っています。 さっそく試してみたのですがうまくいきませんでした。 もうちょっと頑張ってみます。

回答No.4

たしかに、J2EEを使う時、他のEJBコンテナというのを使うのですが、その時は、CATALINA_HOMEで設定すると読んだ気がします。しかし、普通は、TOMCAT_HOMEでも良いと思います。(よくわからないのですが、私のパソコンでは、TOMCAT_HOMEで無事動いてます。) あと、以前の環境変数は、消したほうがよろしいかと思います。 僕も、あまり難しいことは分かりませんが、私のパソコンではD:\Program Files\Apache Tomcat 4.0としか書いてないけど、すべてうまくいっています。 もし、動かなかったら、ごめんなさい。では、がんばってください。

paradise
質問者

お礼

何度も回答ありがとうございます。 CATALINA_HOMEからTOMCAT_HOMEに変更して見たのですが やっぱり結果は変わりませんでした。ちなみにTOMCAT_HOMEを消してCATALINA_HOMEのみにしてもやっぱりjspだけ実行できませんでした。

回答No.3

>このページからNumberguessなどのExecuteのリンクを押下してサンプルを見ようとするとInternal Server Errorが出てしまいます。 上記は環境変数TOMCAT_HOMEを設定していないからだと思われます。JAVA_HOMEと同じようにTOMCAT_HOMEというのも設定が必要です。さっき書き忘れました。すみません。 TOMCAT_HOMEは、僕の場合だとC:\Program Files\Apache Tomcat 4.0となります。インストールしたディレクトリにあわせて設定してください。

paradise
質問者

お礼

何度も回答ありがとうございます。 TOMCAT_HOMEですが、別のホームページでtomcat4.*はCATALINA_HOMEとして設定するって書いてあったのを見てCATALINA_HOMEとして設定しています。 以前tomcat3.2.4を使っていたのですがその時の環境変数のTOMCAT_HOMEはそのまま残っています。

回答No.2

あと、補足ですが、クラスパスの設定があまり載ってませんね。 C:\>echo [%CLASSPATH%] [D:\j2sdk1.4.0_01\jre\lib;D:\j2sdk1.4.0_01\lib;D:\j2sdk1.4.0_01\lib\tools.jar;D: \Program Files\Apache Tomcat 4.0\common\lib\servlet.jar;D:\Program Files\Apache Tomcat 4.0\webapps\jsp10\WEB-INF\classes] 私のパソコンのクラスパスは上記の通りです。なお、httpd.confはもっと簡単に設定してあります。以下の5行を末尾に記述しただけです。あの、ホームページはなぜあんなにゴチャゴチャ書いてあるんでしょうか?私の本にはあんなにゴチャゴチャ書いてありません。 LoadModule webapp_module modules/mod_webapp.so WebAppConnection conn warp localhost:8008 WebAppDeploy examples conn /examples WebAppDeploy jsp10 conn /jsp10 WebAppDeploy begin conn /begin 最後の2行は僕が使っているディレクトリの名前なので、気にしないでください。要するに僕は、jsp10とbeginというフォルダにjspのファイルを置いているということです。

paradise
質問者

お礼

回答ありがとうございます。 ちょっと説明不足だったようです。 http://localhost/examples/jsp/index.htmlは表示されるんですが、このページからNumberguessなどのExecuteのリンクを押下してサンプルを見ようとするとInternal Server Errorが出てしまいます。 これも動作が不安定だから起こる現象ならいいのですが・・・。

回答No.1

 僕のパソコンでも同じ状態です。質問に載っているホームページを見たんですが、以下のことが書いてありますよね。 /***************************************************************/ 下記に示す方法は、tomcat と apache の連携に webapp-module を使用します。このとき、tomcat の機能を利用したページを表示しようとすると 画像が表示されない サーブレット、JSP が実行されない ページの表示が極端に遅い などの現象が発生する事が確認されています。(同様の報告も数多く頂いています。)このため webapp-module は、運用上不安定な部分を抱えている事も考えられますので、下記の方法を試される方は、この事をご了承の上でご利用ください。(以上、2002/4/5 追記) /**************************************************************/ 上記が原因だと思います。しかしながら、本に書いてあるようなサンプルは問題なく実行できますので、あまり気にしないで勉強を進めたほうがよろしいかと思います。 なお、http://localhost:8080/index.htmlを開き、JSP EXAMPLESをクリックしてください。そうすると、同じページが開きます。その後、http://localhost/examples/jsp/index.htmlを入力すると、質問に載っていたページも、問題なく開けるようになります。

関連するQ&A