- ベストアンサー
サーブレットにてHTTP404エラーが解消されない理由
- プログラミング初心者のものです。サーブレットについて勉強しているのですが、どうしてもHTTP404エラーが解消されません。
- http://localhost:8080/entry/HelloServletとURLに入力すると、The requested resource (/entry/HelloServlet) is not available.となってしまいます。
- 直接的な原因は、HelloServlet.javaが適切な場所に配置されていないためです。ファイルの配置場所を確認し、正しい場所にHelloServlet.javaを配置してください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
サーブレットをパッケージ化(package test など)された場合は、 WEB-INF/classes/test に class ファイルを配置されましたでしょうか。 あと、コンパイル時にエラーや、tomcat の起動時にエラーなど起きていませんでしょうか。 (javac のログや、C:\servletbook\apache-tomcat\logs のエラーログなど)
その他の回答 (3)
- hatimiti
- ベストアンサー率68% (26/38)
よく見ると、 /****************** HelloServlet.javaは、 C:\servletbook\apache-tomcat\webapps\entry\WEB-INF\classes *******************/ と書かれてますね。 classes には「*.java」ではなく、java ファイルをコンパイルした後の、 「*.class」ファイルを配置するようにしてください。
補足
ご指摘ありがとうございます。 コンパイル後に作成された「*.class」ファイルを配置し、 C:\servletbook\apache-tomcat\webapps\entry\WEB-INF\src にHelloServlet.javaを配置しましたが直りませんでした。。。 バグのために何度もすいません。。。
- hatimiti
- ベストアンサー率68% (26/38)
関係ないかもしれませんが、 自作の Servlet をパッケージ化してみてはどうでしょうか。 (package test など) classes に配置する場合は test フォルダに配置することになります。 web.xml の servlet-class の指定も変わります。
補足
やってみましたが変わりません。。 なんなんでしょうね。。。 ウイルスバスターとかは関係ないですかね?
- hatimiti
- ベストアンサー率68% (26/38)
確認ですが、 tomcat は起動されていますか? http://localhost:8080/ にアクセスした際に tomcat の設定画面は表示されますでしょうか。
補足
ご返事ありがとうございます。 tomcatは常に起動していますし、それは何度も確認できてます。 しかも C:\servletbook\apache-tomcat\webapps\entry\hello.txt はキチンと表示されますし、サーブレットのプログラムになるとエラーがでます。 HTTP404エラーはファイルの格納場所というように聞いていますが、起動しているtomcatのファイル内にキチンと入っています。
お礼
何度も返信ありがとうございます。 先輩に見てもらい、eclipseで実行したところ、うまく行きました。 srcの中にさらにsrcがはいっていたらしく、web.xmlで <servlet-class>src.HelloServlet</servlet-class> としたらできました。しかしなぜeclipseなしでできなかったかはよくわかりませんでしたが、eclipseでできたので良しとしますf^^; eclipseの方が楽ですし。 XMLの知識がいま一つでしたのでこれからは並行して勉強していきたいと思います。 コメントありがとうございましたm(_ _)m