- ベストアンサー
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がありディレクトリ構成も見えるのですが、作成するとディレクトリ構成も見えなくなります。何が悪いのかすらわからない状況です。 どなたか教えて下さい!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
><servlet-mapping> ><servlet-name>hello</servlet-name> ><servlet-class>/hello</servlet-class> ></servlet-mapping> <servlet-mappig> で入れ子に出来るのは ・<servlet-name> ・<url-pattern> です。web.xml に関しては下記のサイトが参考になると思います。
その他の回答 (2)
- chi-kon
- ベストアンサー率43% (58/132)
ダウンロードされるのであれば サーブレットとして認識されてるとおもいます。 ヘッダにtext/htmlを設定してやれば 表示されると思います。 ----- タイトルと違う質問をするときは 別スレッドを立ててください。 似たような事例を探している方が探しやすいですので。
お礼
ご回答とご指示ありがとうございました。 さっそく正常に表示できるようになりました。
- chi-kon
- ベストアンサー率43% (58/132)
Tomcatのログやコンソールにはなにかでていませんか? web.xmlの設定が悪いとサーブレットがうまく機能しません。
お礼
Taka-pさんに回答を頂き、だいたい解決しました。 chi-konさんも回答ありがとうございました。
補足
いろいろ試してみましたが、一向に機能してくれません。 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> ------------------------------------------------- コメントアウトを削除しています。 どこか設定が悪いのでしょうか?
お礼
ありがとうございました。 ただ記述ミスでした。 しかし、jspやhtmlからのサーブレット呼び出しは可能になりましたが、サーブレット本体を呼び出しを行うと『out.println("")』にて出力されたhtmlファイルのダウンロードのメッセージが出てしまうような状況に陥ってしまいました。 多分、Tomcatがサーブレットを認識してないと思うのですが・・・。 これも何かおわかりでしたら、教えて下さい! お願いします。