- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EclipseでHTTP404エラーが出る。)
EclipseでHTTP404エラーが出る
このQ&Aのポイント
- EclipseでJAVAの練習している際に、最近頻発するHTTP404エラーに困っています。
- エラーの原因がわからず、参考書『スッキリわかるサーブレット&JSP』を使用しています。
- URLやファイルの配置に問題があるのか、何度やり直しても解決しません。助けてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
書籍は持っていないので詳細は分かりませんが、Tomcatなどを使った簡単なWebアプリケーションのようですね。 ちなみに、HTTP404は、File not foundなので、「URLで指定された対象のファイルは見つからないよ!」という内容です。 アクセスしようとしているURLに、凄く違和感があります。 URLでWEB-INFの下のJavaソースコードに直接アクセスしようとしているようですが、これが間違いです。(書籍にもそう書いてありますか?) たいていは、JSPを介して、そこからUser.javaを利用する形になると思うのですが。 (User.javaはmodelの下に入っているので、単純なJavaのクラス(サーブレットなどでは無く)だと思う)
その他の回答 (1)
- teketon
- ベストアンサー率65% (141/215)
回答No.2
本は読んでいませんが。 WEB-INFのフォルダはサーバ内部の構造であって、URLから直接アクセスはできません。 解決には、Web.xmlにて、ServletクラスとServlet名のマッピングを行い、 さらにServlet名とUrlパターンのマッピングを行う必要があります。 また、もしもmodel/User.javaがServletではなく、単なるJavaクラスならば呼び出しを行うServletクラスが必要です。 最後に、WEB-INF内に置くのはjavaファイルではなく、コンパイル後のclassファイルです。
質問者
補足
WEB-INFのフォルダの中に最初はおいてないのに、まるで、置いてあるかのようなURLが出てしまいます。 なので本当に置いてやったら404がなくなるかも!!って思って置いてあげてもだめでした。
補足
回答ありがとうございます。 私もなんで、WEB-INFに下にアクセスされてしまうのかわかりません。 URLを見た時から、「え?なんでここ?おかしくね?」って思ってました。 こう思ったからこそ、URLのWEB=INFとclass部分を消してしまえば、ちゃんとアクセスされるだろうって思ってやってみましたがだめでした。 User.javaはちゃんとsrc下のmodelの中に入っています。 srcの下のmodelの中にちゃんと入ってるのに、実行してみたら、WEB-INFの中ってことになってしまいます。 そしてJSPやサーブレットを介してUser.javaを利用するってーのも理解してるつもりなんですが、 ただ、実行すれば、プログラムミスが無いかぎり、「実行を完了しました」的なことが出るんじゃないかな~と思い、それが出ないで404と出るから、私が何か変なことしておかしくなったんじゃないかと思い、質問させてもらいました。 もしかして、これが原因なんでしょうか?