• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サーブレットにて、HTTP404エラーについて)

サーブレットにてHTTP404エラーが解消されない理由

このQ&Aのポイント
  • プログラミング初心者のものです。サーブレットについて勉強しているのですが、どうしてもHTTP404エラーが解消されません。
  • http://localhost:8080/entry/HelloServletとURLに入力すると、The requested resource (/entry/HelloServlet) is not available.となってしまいます。
  • 直接的な原因は、HelloServlet.javaが適切な場所に配置されていないためです。ファイルの配置場所を確認し、正しい場所にHelloServlet.javaを配置してください。

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

  • ベストアンサー
  • hatimiti
  • ベストアンサー率68% (26/38)
回答No.4

サーブレットをパッケージ化(package test など)された場合は、 WEB-INF/classes/test に class ファイルを配置されましたでしょうか。 あと、コンパイル時にエラーや、tomcat の起動時にエラーなど起きていませんでしょうか。 (javac のログや、C:\servletbook\apache-tomcat\logs のエラーログなど)

jambi0107
質問者

お礼

何度も返信ありがとうございます。 先輩に見てもらい、eclipseで実行したところ、うまく行きました。 srcの中にさらにsrcがはいっていたらしく、web.xmlで <servlet-class>src.HelloServlet</servlet-class> としたらできました。しかしなぜeclipseなしでできなかったかはよくわかりませんでしたが、eclipseでできたので良しとしますf^^; eclipseの方が楽ですし。 XMLの知識がいま一つでしたのでこれからは並行して勉強していきたいと思います。 コメントありがとうございましたm(_ _)m

その他の回答 (3)

  • hatimiti
  • ベストアンサー率68% (26/38)
回答No.3

よく見ると、 /****************** HelloServlet.javaは、 C:\servletbook\apache-tomcat\webapps\entry\WEB-INF\classes *******************/ と書かれてますね。 classes には「*.java」ではなく、java ファイルをコンパイルした後の、 「*.class」ファイルを配置するようにしてください。

jambi0107
質問者

補足

ご指摘ありがとうございます。 コンパイル後に作成された「*.class」ファイルを配置し、 C:\servletbook\apache-tomcat\webapps\entry\WEB-INF\src にHelloServlet.javaを配置しましたが直りませんでした。。。 バグのために何度もすいません。。。

  • hatimiti
  • ベストアンサー率68% (26/38)
回答No.2

関係ないかもしれませんが、 自作の Servlet をパッケージ化してみてはどうでしょうか。 (package test など) classes に配置する場合は test フォルダに配置することになります。 web.xml の servlet-class の指定も変わります。

jambi0107
質問者

補足

やってみましたが変わりません。。 なんなんでしょうね。。。 ウイルスバスターとかは関係ないですかね?

  • hatimiti
  • ベストアンサー率68% (26/38)
回答No.1

確認ですが、 tomcat は起動されていますか? http://localhost:8080/ にアクセスした際に tomcat の設定画面は表示されますでしょうか。

jambi0107
質問者

補足

ご返事ありがとうございます。 tomcatは常に起動していますし、それは何度も確認できてます。 しかも C:\servletbook\apache-tomcat\webapps\entry\hello.txt はキチンと表示されますし、サーブレットのプログラムになるとエラーがでます。 HTTP404エラーはファイルの格納場所というように聞いていますが、起動しているtomcatのファイル内にキチンと入っています。

関連するQ&A