EclipseでHTTP404エラーが出る

このQ&Aのポイント
  • EclipseでJAVAの練習している際に、最近頻発するHTTP404エラーに困っています。
  • エラーの原因がわからず、参考書『スッキリわかるサーブレット&JSP』を使用しています。
  • URLやファイルの配置に問題があるのか、何度やり直しても解決しません。助けてください。
回答を見る
  • ベストアンサー

EclipseでHTTP404エラーが出る。

EclipseでJAVAの練習してるのですが、 ここ最近HTTP404エラーが頻発して困ってます。 何が原因かわかりません。ちなみに参考書として使ってるのは、著:国本大吾さんのスッキリわかるサーブレット&JSPです。 <詳細> [URL]http://localhost:8080/docoTsubu/WEB-INF/classes/model/User.java HTTPステータス 404 - type ステータスレポート メッセージ 説明 The requested resource is not available. Apache Tomcat/7.0.54 このようにエラーが出てしまいます。 気になったのが、私はUser.javaをWEB-INFディレクトリーに入れてません。 URLに間違いがあるのかもしれないと思い、URLのWEB-INF/classes/を消して実行しましたが、だめでした。 次はWEB-INFに入れないといけない物なのかもしれないと思いモデルごとWEB-INFに入れて実行しましたが、だめでした。 この後、全部削除してもう一度やり直すってこともやってみましたが、だめでした。 もうどうしたらいいのかわかりません。どなたかお助けください。

  • Java
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • neuron-x
  • ベストアンサー率52% (139/266)
回答No.1

書籍は持っていないので詳細は分かりませんが、Tomcatなどを使った簡単なWebアプリケーションのようですね。 ちなみに、HTTP404は、File not foundなので、「URLで指定された対象のファイルは見つからないよ!」という内容です。 アクセスしようとしているURLに、凄く違和感があります。 URLでWEB-INFの下のJavaソースコードに直接アクセスしようとしているようですが、これが間違いです。(書籍にもそう書いてありますか?) たいていは、JSPを介して、そこからUser.javaを利用する形になると思うのですが。 (User.javaはmodelの下に入っているので、単純なJavaのクラス(サーブレットなどでは無く)だと思う)

nomnom20
質問者

補足

回答ありがとうございます。 私もなんで、WEB-INFに下にアクセスされてしまうのかわかりません。 URLを見た時から、「え?なんでここ?おかしくね?」って思ってました。 こう思ったからこそ、URLのWEB=INFとclass部分を消してしまえば、ちゃんとアクセスされるだろうって思ってやってみましたがだめでした。 User.javaはちゃんとsrc下のmodelの中に入っています。 srcの下のmodelの中にちゃんと入ってるのに、実行してみたら、WEB-INFの中ってことになってしまいます。 そしてJSPやサーブレットを介してUser.javaを利用するってーのも理解してるつもりなんですが、 ただ、実行すれば、プログラムミスが無いかぎり、「実行を完了しました」的なことが出るんじゃないかな~と思い、それが出ないで404と出るから、私が何か変なことしておかしくなったんじゃないかと思い、質問させてもらいました。 もしかして、これが原因なんでしょうか?

その他の回答 (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ファイルです。

nomnom20
質問者

補足

WEB-INFのフォルダの中に最初はおいてないのに、まるで、置いてあるかのようなURLが出てしまいます。 なので本当に置いてやったら404がなくなるかも!!って思って置いてあげてもだめでした。

関連するQ&A

  • サーブレット起動後、HTTP404エラーが表示

    HTTP404エラーが表示され、どこを修正すればよいのかわかりませんので、どなたか教えて頂けないでしょうか?正直非常に困っておりますので、よろしくお願いいたします。java初心者です。 (状況の詳細) Eclipseでservletを実行すると以下の表示がされてしまい正常に処理されません。 HTTPステータス 404 - -------------------- type ステータスレポート メッセージ / 説明 The requested resource (/) is not available. ----------------------------------------- Apache Tomcat/7.0.26 実行環境 Eclipse3.7  (動的Webプロジェクトを作成し、デフォルト出力フォルダーをWebContent/WEB-INF/classesとしています。) java6 servlet3.0 Tomcat 7.0 利用文献:Eclipseで学ぶはじめてのサーブレット&JSP(SoftBankCreative)の第5章のSelect.javaを実行 以上、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • サーブレットにて、HTTP404エラーについて

    プログラミング初心者のものです。サーブレットについて勉強しているのですが、どうしてもHTTP404エラーが解消されません。 http://localhost:8080/entry/HelloServlet とURLに入力すると type ステータスレポート メッセージ /entry/HelloServlet 説明 The requested resource (/entry/HelloServlet) is not available. となってしまいます。なにかミスや指摘があればお願いします。 ファイル名 HelloServlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ PrintWriter out = response.getWriter(); out.println("Hello"); } } ファイル名 web.xml <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> </web-app> HelloServlet.javaは、 C:\servletbook\apache-tomcat\webapps\entry\WEB-INF\classes に格納されており、web.xmlは C:\servletbook\apache-tomcat\webapps\entry\WEB-INF に格納されてます。

    • ベストアンサー
    • Java
  • java servlet tomcat エラー

    サーブレット用のクラスファイルがwebページ (http://localhost:8080/examples/servlet/HelloWorldServlet) で見ることができないんですがなんででしょうか? http://localhost:8080にはアクセスできるからtomcatは正常に起動してるんですが。 ちなみにファイル HelloWorldServlet.class はtomcat 6.0\webapps\examples\WEB-INF\classesに保存してあります。 エラー内容は下記のようになっています。 ーーーーーーーーーーーーーーーーーーーーーーーーーーー HTTPステータス 404 - /examples/servlet/HelloWorldServlet type ステータスレポート メッセージ /examples/servlet/HelloWorldServlet 説明 The requested resource (/examples/servlet/HelloWorldServlet) is not available. ーーーーーーーーーーーーーーーーーーーーーーーーーーー

  • HTTP 404 error

    Vine Linux,Tomcat5で (1)webapps/conf/server.xml ... <HOST> <Context path="/apress" docBase="apress" debug="0" reloadable="true" /> ... (2)webbapps/apress/login.jsp ... <table width="500" border="0" cellspacing="0" cellpadding="0"> <form name="loginForm" method="post" action="servlet/chapter2.login"> <tr><td width="402"><div align="right">User Name: </div></td> <td width="399"><input type="text" name="username"></td> </tr> ... (3)webapps/apress/WEB-INF/web.xml ... <servlet> <servlet-name>login</servlet-name> <servlet-class>chapter2.login</servlet-class> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> ... (4)webapps/apress/WEB-INF/classes/chapter2/login.java package chapter2; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class login extends HttpServlet { private String target = "/welcome.jsp"; private String getUser(String username, String password) { // Just return a statice name // If this was reality, we would perform a SQL lookup return "Bob"; } .... (4)現象: http://xxx.xxx.xxx.xxxx:8080/apress/login.jsp でsubmit action 後、次のエラーが出てきました: HTTP 404 error, The requested resource (/apress/servlet/chapter2.login) is not available. この問題はどこにあるでしょうか教えてください。

  • Tomcatの設定について、404エラー

    本日の質問は、Tomcatのエラー404になります。 PCの環境OS:Windows7 JSPを始めるつもりで、下記のものをインストールしました。 javaのJDKをインストール済で、 Tomcat/7.0.32をインストールしました。 C:\Tomcat7\webapps\Sample_JSP\Sample_01.jsp C:\Tomcat7\webapps\Sample_JSP\WEB-INF\Sample_01.xml 環境変数   変数名:CATALINA_HOME   変数値:C:\Tomcat7 という感じで、Webページを参考にファイルを作り、 http://localhost:8080/は、表示させることができ、 http://localhost:8080/Sample_JSP\Sample_01.jspについても 表示出来ましたが、 http://localhost:8080/のページの HTTPステータス 404 - /manager/status HTTPステータス 404 - /manager/html HTTPステータス 404 - /host-manager/html どのページも、説明 The requested resource is not available. と出て、 Webページがが表示しません。 少し調べた所によると、tomcat-users.xml このファイルを なんか設定するように有り、admin の設定が入ってなかったので、 付け加えてみたり、削除してみたり、再起動もしました。 初心者なので、どこがおかしいのか良く解りません。 参考になるページでもありましたら、 どうか、よろしくお願いします。

  • eclipseへサンプルコードをインポートしたい。

    こんにちは。 最近、JSP/サーブレットの勉強を始めた者です。 今使っている本についているサンプルコードをインポートしたいと思い、 ネットで調べながらやってみましたが、うまくできませんでした。 eclipse自体初心者であるため、インポートの基本的な方法、 また注意すること等教えていただけないでしょうか。 以下に私が行った手順などを記します。 ●test1というTomcatプロジェクトを作成 ●test1直下のWEB-INFにweb.xml、同じくTest1直下のclassesにサンプルのクラスファイル、   そしてWEB-INF/srcにサンプルのjavaファイルをインポート ●Tomcatを再起動し、ブラウザのURLに、http://localhost:8080/test1/1_1と入力 ●「HTTPステータス 404 - /test1/1_1」が表示される

    • ベストアンサー
    • Java
  • 作成したサーブレットが表示されません(Tomcat使用)

    はじめまして。 本を見ながらサーブレットを作成、実行したところエラーに 検索するも知識が浅いために理解できず、行き詰ってしまいました。 解決法ご存知の方おられましたら、ご教示いただけますと幸いです。 ************ (略)Tomcat 5.5\webapps\kajsp\WEB-INF\classesの直下にhello_servlet1.classを置き実行したところ、以下のエラーが… ************ HTTPステータス 404 - /kajsp/hello_servlet1 ------------ ステータスレポート /kajsp/hello_servlet1 The requested resource (/kajsp/hello_servlet1) is not available. ------------ Apache Tomcat/5.5.20 ************ web.xmlファイルは以下のとおりです。WEB-INF直下に置きました。 ************ <?xml version="1.0" encoding="Windows-31J"?> <servlet> <servlet-name>hello_servlet1</servlet-name> <servlet-class>hello_servlet1</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello_servlet1</servlet-name> <url-pattern>hello_servlet1</url-pattern> </servlet-mapping> ************ http://localhost:8080/ は見る事ができるのですが、 http://localhost:8080/kajsp/hello_servlet1 ではエラーが出ます。 ************ 環境は Windows XP Home(SP2) JDK JRE:1.5.0_09 Tomcat:5.5 です。 初歩的な質問で申し訳ありませんが、よろしくお願い致します。

    • ベストアンサー
    • Java
  • fedora10+eclipse3.42+tomcat6にて

    動的Webプロジェクトでstrutsしているのですが 動的Webプロジェクトでプロジェクト(ProjectX)を作ると Javaソース場所がProjectX/srcとなり クラス出力場所がProjectX/build/classesとなります。 ところがeclipseからTomcat6を起動した場合 クラス出力場所がProjectX/WebContent/WEB-INF/classesでなければ JavaClassにアクセスできずTomcat6が機能しません。 またProjectXに設定したクラスパスは Javaファイルのコンパイルには有効なものの ProjectX/WebContent/WEB-INF/classes以下のJavaクラスの実行時には無効なので ProjectX/WebContent/WEB-INF/lib にJarファイルを配置しなくてはなりません。 eclipse3.42のEclipise IDE for Java EE Developers を使ってTomcat6の開発をしている人は どのようにこの配置の問題を解決しているのでしょうか?

    • ベストアンサー
    • Java
  • ALL-IN-ONE Eclipseの使い方がさっぱり分からない

    ALL-IN-ONE Eclipseを使ってjavaを勉強しようとしているのですが、使い方が分かりません。 具体的には簡単なサーブレットを書いて実行しようとしても、 The requested resource (・・) is not available. と出てしまいます。 プロジェクト名を右クリック⇒新規⇒サーブレット⇒クラス名入力⇒サーブレットの中身を書く⇒実行(サーバで実行)とやっているのですが、どこか間違っている(足りない)でしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • 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がありディレクトリ構成も見えるのですが、作成するとディレクトリ構成も見えなくなります。何が悪いのかすらわからない状況です。 どなたか教えて下さい!

    • ベストアンサー
    • Java

専門家に質問してみよう