- 締切済み
Javaサーブレット
Javaサーブレットの初心者です。 「標準 MySQL 改訂第3版」(2007,3月発行)という本でMySQLを勉強しようと始めたのですが、それ以前の場所で詰まってしまいました。 本の流れは Apache,MySQL,Tomcat,J2SEをインストール → Apacheの動作確認 → Tomcatの動作確認 → ApacheとTomcatを連携させる。(ここまでは正常に動いています。)→Javaサーブレットの動作確認 ここでブラウザから http://localhost/java/Test と入力すると 「Hello Java」と表示されるはずなのですが HTTPステータス 404 - /java/Test というエラー画面になってしまい、表示されません。 すべて本に書いてあるとおりにやりました。 ファイルの中身なども何度も見直しました。 なぜ表示されないのか教えてください。 お願いします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- webnas
- ベストアンサー率30% (3/10)
もう大分前なので遅すぎかもしれませんが・・ 私も同じ本の同じ場所で同じエラーが出ていました。 結果的に本の付属しているWeb.xmlを上書きしたら「Hello Java」と表示されました。 ごめんなさい、上書きしなければ理由が分かったかもしれないのに上書きしたため どこの記述が間違えていたのか分かりませんでしたが、恐らく私の場合はWeb.xml が間違えていたのだと思っています。 念のためもう一度Web.xmlを手打ちして再起動などしてみましたが正常に動いてしまう・・ 悔しい・・ まあ一度試してみてください。
- googoo131
- ベストアンサー率45% (5/11)
まず、Tomcat6.0 を例にしますと、 C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\web.xml 内 (1) servlet タグ要素中の servlet-name属性、servlet-class属性 <servlet> <servlet-name>Test</servlet-name> <servlet-class>[パッケージ名].Test</servlet-class> </servlet> (2) servlet-mapping タグ要素中の servlet-name属性、url-pattern属性 <servlet-mapping> <servlet-name>Test</servlet-name> <url-pattern>/Test</url-pattern> </servlet-mapping> (1)、(2)の内容が正常に記述されているかどうかです。 あと、web.xml を編集した後にTomcat の再起動も忘れずに行ってください。
- kamkamkam3
- ベストアンサー率42% (216/514)
たいしたことはかかないから、面倒だったらお礼はいいお( ^ω^) サーブレットをコンパイルしてクラスファイルができてweb.xmlを編集したらTomcatの再起動→Apacheの再起動が必要だお( ^ω^) やったかお?( ^ω^) ちなみに、それは面倒だからTomcatの設定ファイルでそうしなくてもいいように設定できるお( ^ω^)http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla%3Aja%3Aofficial&hs=wO4&q=tomcat+reloadable&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja じゃあ、がんばれお( ^ω^)
とりあえずここあたりを読んでみてください。 http://www.javaroad.jp/opensource/js_tomcat5.htm ログインしてjavaがなかったら、正常に配置できていないので、もう一度やり方を見直す必要があります。 正直、こういう設定というのは初心者にとっては根気が要るものですからめげずにがんばって!
お礼
Liveinjapaさん、ありがとうございます。 教えていただいたサイトを参考にして http://localhost:8080/manager/html/list のところにいくことはできました。 アプリケーション パス 表示名 実行中 セッション コマンド / Welcome to Tomcat true 0 起動 停止 再ロード 配備解除 /host-manager Tomcat Manager Application true 0 起動 停止 再ロード 配備解除 /java true 0 起動 停止 再ロード 配備解除 /manager Tomcat Manager Application true 0 起動 停止 再ロード 配備解除 /tomcat-docs Tomcat Documentation true 0 起動 停止 再ロード 配備解除 という画面になりました。 しかし、今の自分ではサイトの中身が理解出来ないので、ほかの本で勉強して、またやり直してみたいと思います。 本当にありがとうございました。
すみません。 javaというプロジェクトですね。 http://localhost:8080/java/Test もしくはTomcat Managerのアドレス http://localhost:8080/manager/html ではどうでしょう?そこにアプリケーション名javaがのってます?
お礼
Liveinjapaさん、おはようございます。 http://localhost:8080/java/Test と入力すると、 HTTPステータス 404 - /java/Test -------------------------------------------------------------------------------- type ステータスレポート メッセージ /java/Test 説明 The requested resource (/java/Test) is not available. -------------------------------------------------------------------------------- Apache Tomcat/5.5.20 という画面になり http://localhost:8080/manager/html と入力すると Tomcat Manager Application のサーバー localhost にはユーザー名とパスワードが必要です。 警告: このサーバーは、ユーザー名とパスワードを安全ではない方法で送信することを要求しています (安全な接続を使わない基本的な認証)。 という画面が出てきて、ユーザー名とパスワードを入力する画面になります。 そこでキャンセルを押すと HTTPステータス 401 - -------------------------------------------------------------------------------- type ステータスレポート メッセージ 説明 This request requires HTTP authentication (). -------------------------------------------------------------------------------- Apache Tomcat/5.5.20 という画面になります。
お礼
Liveinjapaさん、ありがとうございます。 http://localhost/Test/ http://localhost:8080/Test/ 両方やってみましたが出来ませんでした。 ただ、http://localhost/Test/ と入力すると Web ページがみつかりません HTTP 404 可能性のある原因: アドレスに入力の間違いがある可能性がある。 リンクをクリックした場合には、リンクが古い場合があります。 という画面になります。
- gallberry
- ベストアンサー率25% (1/4)
私はその本を持っていないので、詳しくはわかりませんが… いくつか確認すべき点があります。 ・記載URLの前後の「」はもちろん取り除いていますよね? 「http://localhost/java/Test」でアクセスしていますか? ・HTTPステータス 404はページが見つからない時のエラーです Tomcatのservletの設定([TOMCAT_HOME\conf\web.xml)に必要な記載がされているかを確認してください。 ・ApacheとTomcatのバージョンにより連携に使用するライブラリが異なる場合がありますので、確認してください。 とりあえず、みんながMu1370さんの参考書を持っているわけではないので、使用したApache、Tomcat、Javaのバージョンは記載してください。 早期解決への糸口となりますよ また、サーブレットの設定は基本なので、いきなりApache連携よりも まずはTomcatのみでサーブレットを動作させてみることを強くお勧めします。
補足
gallberryさん、回答ありがとうございます。 アドレスの最初と最後の は関係ありません。 http://localhost/java/Test とアドレスに入力します。 失礼しました。 それぞれのバージョンは Apache 2.0.59 Apache Tomcat 5.5.20 jdk 1_5_0_10 MySQL 5.0.27 です。 <また、サーブレットの設定は基本なので、いきなりApache連携よりも まずはTomcatのみでサーブレットを動作させてみることを強くお勧めします。 申し訳ありません、素人すぎてTomcatのみでどうやればいいかとか 分からないです。 ファイルは C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\java\WEB-INF\classes\samples このフォルダの中に Test.java とそれをコンパイルして出来た Test.class があります。 中身もちゃんと本にのってある通りに書き、何度も見直しました。 web.xmlは C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\java\WEB-INF の中に置いてあります。こちらも中身は本の通りに書き、何度も見直してます。 中身を一応のせておきます。 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app> <servlet> <servlet-name>Test</servlet-name> <servlet-class>samples.Test</servlet-class> </servlet> <servlet> <servlet-name>Test_my_java</servlet-name> <servlet-class>samples.Test_my_java</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test</servlet-name> <url-pattern>/Test</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Test_my_java</servlet-name> <url-pattern>/Test_my_java</url-pattern> </servlet-mapping> </web-app> この本でブラウザからのデータベース操作を勉強しようと思い、OSの再インストールからしました。 そういえば、Javaのバージョンアップというのが最初に右下に出てきて、何も考えずにしてしまいました。 それが関係あるのでしょうか? 何か気づいたことがありましたら、ご指摘お願い致します。
お礼
kamkamkam3さん、ありがとうございます。 Tomcatの再起動→Apacheの再起動の順でやるようにと本に書いてあったので、それはやりました。 それでもダメだったので、PCの再起動からもやりました。 とりあえず、今の自分の力では解決出来ないので、ほかの本で基礎からちゃんと勉強してみようと思います。 ありがとうございました。