• ベストアンサー

Eclipseにおけるサーブレット作成時のエラー(TOMCAT)

JAVA初心者です。非常に困っておりどうしてよいのかわかりません。よろしくお願いいたします! eclipseにてサーブレットを作成したのですが、実行ができません。 ---------- 環境 OS:Windows2000Server Eclipse ver2.1.1 TOMCAT ver4.1 プロジェクト名Sample 実行ファイルHelloSrvlet.java ---------- "web.xml"をエクリプスのプロジェクト下のWEB-INFに作成した場合に『HTTP Status 404』エラーが表示されてしまいます。 servlet.xmlにも<context・・・と設定はしております。web.xmlを作成しなかった場合にはadmin上でSampleがありディレクトリ構成も見えるのですが、作成するとディレクトリ構成も見えなくなります。何が悪いのかすらわからない状況です。 どなたか教えて下さい!

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

  • ベストアンサー
  • takaP-
  • ベストアンサー率79% (83/105)
回答No.2

><servlet-mapping> ><servlet-name>hello</servlet-name> ><servlet-class>/hello</servlet-class> ></servlet-mapping> <servlet-mappig> で入れ子に出来るのは ・<servlet-name> ・<url-pattern> です。web.xml に関しては下記のサイトが参考になると思います。

参考URL:
http://www.sk-jp.com/java/servlet/webxml.html
98AA89
質問者

お礼

ありがとうございました。 ただ記述ミスでした。 しかし、jspやhtmlからのサーブレット呼び出しは可能になりましたが、サーブレット本体を呼び出しを行うと『out.println("")』にて出力されたhtmlファイルのダウンロードのメッセージが出てしまうような状況に陥ってしまいました。 多分、Tomcatがサーブレットを認識してないと思うのですが・・・。 これも何かおわかりでしたら、教えて下さい! お願いします。

その他の回答 (2)

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

ダウンロードされるのであれば サーブレットとして認識されてるとおもいます。 ヘッダにtext/htmlを設定してやれば 表示されると思います。 ----- タイトルと違う質問をするときは 別スレッドを立ててください。 似たような事例を探している方が探しやすいですので。

98AA89
質問者

お礼

ご回答とご指示ありがとうございました。 さっそく正常に表示できるようになりました。

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

Tomcatのログやコンソールにはなにかでていませんか? web.xmlの設定が悪いとサーブレットがうまく機能しません。

98AA89
質問者

お礼

Taka-pさんに回答を頂き、だいたい解決しました。 chi-konさんも回答ありがとうございました。

98AA89
質問者

補足

いろいろ試してみましたが、一向に機能してくれません。 Tomcatの起動時のログには、 ------------------------------------------------- Caused by: java.lang.IllegalArgumentException: サーブレットマッピング中に無効な <url-pattern> null があります at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:1690) ... 39 more ------------------------------------------------- とエラー表示されています。 web.xmlの設定が悪いと思うのですが、参考書をお手本にして作成したので、どうしたらよいかわかりません。 Tomcatは正常に動いています。 ちなみに、web.xmlの内容は、、、 ------------------------------------------------- <?mxl version="1.0" encoding="shift_jis"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>hello</servlet-name> <servlet-class>hoge.HelloSrvlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <servlet-class>/hello</servlet-class> </servlet-mapping> </web-app> ------------------------------------------------- と記述しました。 またTomcatのconf内のweb.xmlの ------------------------------------------------- <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> ------------------------------------------------- コメントアウトを削除しています。 どこか設定が悪いのでしょうか?

関連するQ&A