プロが教えるわが家の防犯対策術!

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
というエラー画面になってしまい、表示されません。

すべて本に書いてあるとおりにやりました。
ファイルの中身なども何度も見直しました。

なぜ表示されないのか教えてください。
お願いします。

A 回答 (7件)

もう大分前なので遅すぎかもしれませんが・・



私も同じ本の同じ場所で同じエラーが出ていました。



結果的に本の付属しているWeb.xmlを上書きしたら「Hello Java」と表示されました。

ごめんなさい、上書きしなければ理由が分かったかもしれないのに上書きしたため

どこの記述が間違えていたのか分かりませんでしたが、恐らく私の場合はWeb.xml

が間違えていたのだと思っています。

念のためもう一度Web.xmlを手打ちして再起動などしてみましたが正常に動いてしまう・・

悔しい・・

まあ一度試してみてください。
    • good
    • 0

まず、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 の再起動も忘れずに行ってください。
    • good
    • 0

たいしたことはかかないから、面倒だったらお礼はいいお( ^ω^)



サーブレットをコンパイルしてクラスファイルができてweb.xmlを編集したらTomcatの再起動→Apacheの再起動が必要だお( ^ω^)

やったかお?( ^ω^)

ちなみに、それは面倒だからTomcatの設定ファイルでそうしなくてもいいように設定できるお( ^ω^)http://www.google.co.jp/search?hl=ja&client=fire …

じゃあ、がんばれお( ^ω^)
    • good
    • 0
この回答へのお礼

kamkamkam3さん、ありがとうございます。

Tomcatの再起動→Apacheの再起動の順でやるようにと本に書いてあったので、それはやりました。
それでもダメだったので、PCの再起動からもやりました。

とりあえず、今の自分の力では解決出来ないので、ほかの本で基礎からちゃんと勉強してみようと思います。
ありがとうございました。

お礼日時:2008/12/25 15:52

とりあえずここあたりを読んでみてください。


http://www.javaroad.jp/opensource/js_tomcat5.htm
ログインしてjavaがなかったら、正常に配置できていないので、もう一度やり方を見直す必要があります。
正直、こういう設定というのは初心者にとっては根気が要るものですからめげずにがんばって!
    • good
    • 0
この回答へのお礼

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 起動 停止 再ロード 配備解除


という画面になりました。

しかし、今の自分ではサイトの中身が理解出来ないので、ほかの本で勉強して、またやり直してみたいと思います。

本当にありがとうございました。

お礼日時:2008/12/25 16:06

すみません。


javaというプロジェクトですね。
http://localhost:8080/java/Test
もしくはTomcat Managerのアドレス
http://localhost:8080/manager/html
ではどうでしょう?そこにアプリケーション名javaがのってます?
    • good
    • 0
この回答へのお礼

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

という画面になります。

お礼日時:2008/12/25 09:38
    • good
    • 0
この回答へのお礼

Liveinjapaさん、ありがとうございます。

http://localhost/Test/
http://localhost:8080/Test/

両方やってみましたが出来ませんでした。

ただ、http://localhost/Test/ と入力すると

Web ページがみつかりません    HTTP 404
可能性のある原因:
アドレスに入力の間違いがある可能性がある。
リンクをクリックした場合には、リンクが古い場合があります。

という画面になります。

お礼日時:2008/12/24 17:39

私はその本を持っていないので、詳しくはわかりませんが…



いくつか確認すべき点があります。
・記載URLの前後の「​​」はもちろん取り除いていますよね?
http://localhost/java/Test​」でアクセスしていますか?
・HTTPステータス 404はページが見つからない時のエラーです
Tomcatのservletの設定([TOMCAT_HOME\conf\web.xml)に必要な記載がされているかを確認してください。
・ApacheとTomcatのバージョンにより連携に使用するライブラリが異なる場合がありますので、確認してください。

とりあえず、みんながMu1370さんの参考書を持っているわけではないので、使用したApache、Tomcat、Javaのバージョンは記載してください。
早期解決への糸口となりますよ

また、サーブレットの設定は基本なので、いきなりApache連携よりも
まずはTomcatのみでサーブレットを動作させてみることを強くお勧めします。

参考URL:http://www.hellohiro.com/servlet.htm

この回答への補足

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のバージョンアップというのが最初に右下に出てきて、何も考えずにしてしまいました。
それが関係あるのでしょうか?

何か気づいたことがありましたら、ご指摘お願い致します。

補足日時:2008/12/24 16:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!