• ベストアンサー

Tomcat4.1でServletが無いと言われるのです……

以前の時よりもっと初歩の段階で動かないのです・・・・・・。 例えば、sever.xmlでpathとdocBaseをtestにした場合、 webapps以下に、test, WEB-INF, classesとファイルを作りますよね。 それで、testフォルダにあるhtmlファイルの送信ボタンを押したら、 form action="/test/servlet/foo"として、method="POST"とした場合 『存在しません』といった内容のエラーがでるのは、何故でしょうか??? ほとほとTomcat4.1が使いこなせません。 どうか良きアドバイスを頂けるよう、お願いします。

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

  • ベストアンサー
回答No.4

JavaでHello Worldからの抜粋です。バージョン4.1.24 の場合は、276行目を以下に従って修正して下さい。 (Tomcatバージョン4.1.12以上を使用する場合の注意) Tomcat4.1.12以上を使用する場合、上記のURLを指定す るとHTTP Status 404 が帰ってきます。これはデフォル トの設定では/servlet/*にアクセスがあった場合、サー ブレットを実行するようになっていないためです。 <解決方法> [Tomcatのフォルダ]\conf\web.xmlを編集します。 273行目付近の以下の赤字の2行のコメントアウトの行 をはずします。 (修正前) <!-- <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> --> (修正後) <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> この修正で/servlet/*にアクセスがあった場合にサーブ レットが実行されるようになります。編集が終了したら Tomcatを再起動してください。

参考URL:
http://www.hellohiro.com/servlet.htm
persona
質問者

お礼

メチャクチャ感激です!!! 言い表す言葉もありません。

その他の回答 (3)

  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.3

サーブレットの問題だけなんですよね? JSPとかは表示されるんですよね? 必須かどうかっていうのはわからないのですが、 とりあえずweb.xmlを書いてみてはどうでしょう。 どっかからサンプルをぱくってそれを真似てかいてみてはどうですか? tomcatのサンプルにもついていたと思いますし。 "/test/servlet/foo"というようなサーブレットへのアクセスはweb.xmlに定義してないとできないんじゃないかなぁとおもってみたりなんかして。。。 ちなみに 「存在しません」といったエラーとかいわれるより エラーコードとかでいってもらったほうがいいですね。 たぶん404エラーなんだとおもいますが。

persona
質問者

お礼

JSPは、JSPServletが上手く生成されれば、表示されます。 v4.0.6の時は、 <%@ page import="foobarBean" %> ってのが通用したのにversionが4.1になってからは、 Beanをパッケージ化しないといけないみたい・・・・・・。 そうですね、何かJSPのTaglibsも使わないといけないような気も するんで>JSPに関しては ああ、もうダメダメです。

回答No.2

どのバージョンのTomcatを使ってますか?Tomcat4.1.12 とTomcat4.1.18は${Tomcat_Home}\conf\web.xmlに修正 を加える必要があるみたいです。 まず、以下の二つの事を試してください。 *FORM要素を使わずに、HTMLファイルのリンクから直接 例のサーブレットにアクセスする。(doGet()に何か処 理を書いてください。) *servelt-mappingを使ってる場合は、その部分をコメ ントアウトして、サーブレットのクラス名に直接アクセ スしてみてください。

persona
質問者

お礼

アドバイス有り難うございます。 直入でも試してみたのですが、結果は同じでした( ̄▽ ̄;) やはり、web.xmlの記述が必要不可欠なようですね。 マッピングとか今一まだ理解しきれてないので、それなりの 本を買って勉強する必要があるようです。 それと、2つほど。 Tomcat4.1は、v4.1.12が一番安定しているのでしょうか。 自分はv4.1.24です。 2つ目はportを80に設定している点なんですが。 難しいものに手を出してしまったのかもしれません。

  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.1

web.xmlの設定はしましたか?

persona
質問者

お礼

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

persona
質問者

補足

やはり、web.xml(DD)の記述ですよね。 v4.0.6のときは、必要なかったんでいいのかなと思いつつ、 でも、色々な書籍等々を見ると、ここの記述がやはり必須なんだろうな、て気はしてました。 ただ、記述方法が今一分かりません。 何か良き例のある本とかサイトとかあるでしょうか。

関連するQ&A

専門家に質問してみよう