質問: Javaとサーバーの基礎的な部分を独学し、いざ進もうとし始めたところで行き詰ってしまいました。 自分なりに色々と調べて似た症状の事例は発見しましたが、それらでは私のケースには当てはまらないようでした。 丸二日以上原因が分からず、お知恵を貸していただけないかとこちらに至った次第です。 八方塞のため、どうか、ヒント・アドバイス・お力添えをお願いいたします。 <内容> xamppにてTomcatを導入し、TomcatとApacheの連携を確認。 参考書を元に、Eclipseの導入と設定。 Eclipseにて参考書のサンプルコード(Sample014)を入力。 指示通り、 http://localhost:8080/myapp/Sample014 にアクセスしたところ、 「HTTPステータス 404 The requested resource (/myapp/Sample014) is not available.」 とのエラーが出てきました。 ↓ 試しに、同じ参考書に従い、EclipseにてJSPのサンプルコード(Sample015)を入力。 http://localhost:8080/myapp/Sample015.jsp にアクセスしたところ、正常に表示されました。 ↓ 当サイトhttp://www.javaroad.jp/opensource/js_tomcat2.htm を参考に、Eclipseを使わずにメモ帳にてServletを作ってみました。 (Tomcat/webapps内にて) ↓ コンパイルエラー ↓ CLASSPATHにC:\xampp/tomcat/lib/servlet-api.jarを追加し再起動。 ↓ コンパイル成功。Servletの確認。 http://localhost:8080/javaroad/Helloにアクセスしてみると、「HTTP 404」エラー。 ↓ JSPの確認。 http://localhost:8080/javaroad/jspdir/HelloJsp.jspにアクセスしてみると、「HTTP 404」エラー。 ↓ HelloJsp.jspをC:\Eclipse/Workspace/myappにコピーし、 http://localhost:8080/myapp/HelloJsp.jspにアクセスしてみると、正常に表示。 という状態です。 Servletが動かない原因は何なのでしょうか? また、なぜJSPは、Eclipse/Workspace/myappでは動き、xampp/tomcat/webapps/××では動かないのでしょうか? (Eclipseを使うとEclipse内で全て管理されるようになってしまうのでしょうか?) この二点に詰まっています。 <状況> JDK 6 Update 21 Apache2.2 Tomcat6.0.20 Eclipse3.6 <フォルダ配置> C -Eclipse -Workspace -myapp -WEB-INF -classes -web.xml -com -gokui -Sample014 -work -Sample015.jsp -HelloJsp.jsp -xampp -tomcat -webapps -javaroad -jspdir -HelloJsp.jsp -WEB-INF -web.xml -classes -HelloServlet.class ※参考書にてSample014及び015を作成。 Eclipse/Workspace/myapp/WEB-INF/classes/come/gokuiは、その設定に従いました。 ※当サイトにてHelloJsp.jsp及びHelloServlet.classを作 成。 ※web.xmlが二つあるのは、それぞれに従い作成したためです。 不勉強なため、お答えに必要な情報や設定など基本的なことが分からず長々と書いてしまいました。 そのほかも、ご指示いただければ記入します。 web.xmlなど必要な設定は参考に従いましたが、こちらに書いたほうがよろしいでしょうか? 本及びサイトやQ&A等で自分なりに調べてみましたが解決できずにいます。 何卒、諸先輩方のお力をお借りしたく、よろしくお願いいたします。 ここまで読んでいただき、ありがとうございました。
回答: >$さん 書き込みありがとうございます。 そこは、気になっていたところの一つですが、色々動かしてみたところダメで初期位置に戻した、という感じなのです。 基本形が、 ルートディレクトリ -WEB-INF -web.xml -classes -lib であることは、http://www.javaroad.jp/opensource/js_tomcat2.htm に書いてありました。 その上で、Eclipseにてweb.xmlを作成したところ、 Eclipse-Workspace-myapp-WEB-INF-classese -src の二つに同じweb.xmlが作成されました。 気になってsrc側を削除、classese側をWEB-INFに移したところ、Tomcatが終了してしまったのです。 xamppコントロールパネルから再び起動させてもすぐに終了してしまいます。 web.xmlをWEB-INFから動かしたら、元通りにTomcatが動作しました。 そのため、web.xmlファイルをclasseseに戻した次第です。 もしかして、WEB-INFで止まったTomcatとclasseseとsrcにweb.xmlを作成するEclipseの設定がおかしいのでしょうか? また、xampp/tomcat/webapps/javaroad/WEB-INF側は、 正しい場所にweb.xmlを置いていると思いますが、こちら側も「HTTP 404」になってしまっています。 これは、どういった原因が考えられるのでしょうか? 当たり前なこと、基本的なことが欠けているかもしれませんが、どうか、何か思い当たることがありましたらヒントをいただきたく、よろしくお願いいたします。