• 締切済み

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 というエラー画面になってしまい、表示されません。 すべて本に書いてあるとおりにやりました。 ファイルの中身なども何度も見直しました。 なぜ表示されないのか教えてください。 お願いします。

  • Java
  • 回答数7
  • ありがとう数9

みんなの回答

  • webnas
  • ベストアンサー率30% (3/10)
回答No.7

もう大分前なので遅すぎかもしれませんが・・ 私も同じ本の同じ場所で同じエラーが出ていました。 結果的に本の付属しているWeb.xmlを上書きしたら「Hello Java」と表示されました。 ごめんなさい、上書きしなければ理由が分かったかもしれないのに上書きしたため どこの記述が間違えていたのか分かりませんでしたが、恐らく私の場合はWeb.xml が間違えていたのだと思っています。 念のためもう一度Web.xmlを手打ちして再起動などしてみましたが正常に動いてしまう・・ 悔しい・・ まあ一度試してみてください。

  • googoo131
  • ベストアンサー率45% (5/11)
回答No.6

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

回答No.5

たいしたことはかかないから、面倒だったらお礼はいいお( ^ω^) サーブレットをコンパイルしてクラスファイルができて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 じゃあ、がんばれお( ^ω^)

Mu1370
質問者

お礼

kamkamkam3さん、ありがとうございます。 Tomcatの再起動→Apacheの再起動の順でやるようにと本に書いてあったので、それはやりました。 それでもダメだったので、PCの再起動からもやりました。 とりあえず、今の自分の力では解決出来ないので、ほかの本で基礎からちゃんと勉強してみようと思います。 ありがとうございました。

noname#181603
noname#181603
回答No.4

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

Mu1370
質問者

お礼

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 起動 停止 再ロード 配備解除 という画面になりました。 しかし、今の自分ではサイトの中身が理解出来ないので、ほかの本で勉強して、またやり直してみたいと思います。 本当にありがとうございました。

noname#181603
noname#181603
回答No.3

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

Mu1370
質問者

お礼

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 という画面になります。

noname#181603
noname#181603
回答No.2
Mu1370
質問者

お礼

Liveinjapaさん、ありがとうございます。 http://localhost/Test/ http://localhost:8080/Test/ 両方やってみましたが出来ませんでした。 ただ、http://localhost/Test/ と入力すると Web ページがみつかりません    HTTP 404 可能性のある原因: アドレスに入力の間違いがある可能性がある。 リンクをクリックした場合には、リンクが古い場合があります。 という画面になります。

回答No.1

私はその本を持っていないので、詳しくはわかりませんが… いくつか確認すべき点があります。 ・記載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
Mu1370
質問者

補足

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

関連するQ&A

  • 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 というエラー画面になってしまい、表示されません。 すべて本に書いてあるとおりにやりました。 ファイルの中身なども何度も見直しました。 なぜ表示されないのか教えてください。 お願いします。

  • サーブレットで困っています。

    「基礎からのサーブレット/JSP 改訂版」という本で勉強を始めようと開発環境を整えたのですが、本の通りにやっても、うまくいきません。 本に最初に載ってるアプリケーションの作成のところで「hello.txt」というファイルを作り、 アドレスに「http://localhost:8080/entry/hello.txt」と入力すると Hello This is Text という hello.txt の中身が表示されるはずなのですが、 HTTPステータス 404-/entry/hello.txt と出てきてしまいます。 調べたところ、このエラーはファイルが無いという意味らしいのですが、ファイルは指定の位置に置いてあります・・ コマンドプロンプトから「JAVA_HOME」と入力すると「JAVA_HOME=C:\Program Files\Java\jdk1.5.0_16」と出て来ます。(本ではjdk1.5.0._09となっています) これ以外のところは本と一緒なのですが・・ どなたか、お分かりになりましたら、教えてください。お願いします。

    • ベストアンサー
    • Java
  • TOMCATでのサーブレット環境構築

    初心者です。 Tomcat4.1を使ってサーブレットを動かしたいと思います。 manage/installを使ってWebアプリをインストールするところまではわかりました。 ディレクトリ[c:\java\test\]の配下に [WEB-INF\classes\]というディレクトリを掘って そこにtest.javaとそれをコンパイルしたtest.classがあります。 この状態で http://localhost:8080/manager/install?path=/test&war=file:c:/java/test といれ、testというwebアプリをインストールしました。 listでも確認し、登録されていました。 しかし http://localhost:8080/test/servlet/test とやっても動作しません。 HTTP 404エラーがでます。 (description The requested resource (/test/servlet/test) is not available.) 何が足らないのでしょうか?ご指示をお願いします。 できればわかりやすく解説してあるサイトとかを教えていただければありがたいです。 ちなみにサンプルではいってたexamplesのサーブレットは動作します。 環境はWindows2000です。

    • ベストアンサー
    • Java
  • サーブレットインスタンスを割り当てられません・・・とは

    データベースを作成中にサーブレットでのエラーがどうしてもわかりません・・・。 設定のファイル(web.xmlやserver.xml)のファイルがおかしいのか、サーブレットの配置がおかしいのか、プログラム自体がおかしいのか・・・どうなのでしょうか? エラーは以下のように出るんですが・・・ HTTPステータス 500 - -------------------------------------------------------------------------------- type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 javax.servlet.ServletException: パス /rits/servlet/rits.SrvMain にサーブレットインスタンスを割り当てられません org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:388) org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 原因 java.lang.OutOfMemoryError: Java heap space 注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.20のログに記録されています -------------------------------------------------------------------------------- Apache Tomcat/5.5.20 sampleのサーブレットなどはちゃんと表示されるのですがどうしてでしょうか・・?? 原因などがわかれば教えてください。 ちなみにweb.xmlはinvokerを有効にして使っています。 よろしくおねがいします。

  • サーブレットを動かすためには?

    Tomcat5.0を使ってサーブレットを動かそうとしましたが、動きません。 JSPは問題なく動きます。 サーブレットのコンパイルは問題なくできているようです。また、ほかで動いていたものをためしに使ってみたのですが、動きません。 何か、設定をしなければならないのでしょうか。 現在は、サーブレットを動かそうとすると、 HTTPステータス 500 - type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 javax.servlet.ServletException: パス /yoko/servlet/test にサーブレットインスタンスを割り当てられません org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:388) org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 原因 java.lang.IllegalAccessException: Class org.apache.catalina.core.StandardWrapper can not access a member of class test with modifiers "" sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57) java.lang.Class.newInstance0(Class.java:302) java.lang.Class.newInstance(Class.java:261) org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:369) org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) このように表示されています。 何が原因なのか、対処策など、わかることがありましたらお教えください。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Tomcat と Apache の連携に関して♪

    こんにちわ。 技術評論社の「サーブレット&JSP」という本をベースにTomcatとApacheの連携を行っています。 それぞれ、新しいバージョンがリリースされているので新しいバージョンのTomcat(4.1)とApeche(2.0.45)での連携を試行錯誤しながら挑戦していますが、全然うまくできません。 確認は、連携処理後 http://localhost/examples/jsp/ で確認しています。 もちろん、http://localhost:8080/exampes/jsp/ では正常に表示されます。 これら新バージョン同士で連携させる方法を是非とも教えてください。 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • tomcatが動かなくなりました。動かすにはどうしたらいいですか?

    tomcatが動かなくなりました。動かし方を教えてください。 eclipseでtomcatプラグインまで入れて動作を確認できました。 最後にテスト用のプロジェクトをいくつも消した後、 tomcatが動きません。service status : startedになりますが http://localhost:8080/にアクセスしても HTTPステータス 404 - / type ステータスレポート メッセージ / 説明 The requested resource (/) is not available. Apache Tomcat/5.5.28 としか出てきません。 どうやったらいいですか?

  • サーブレットを動せるレンタルサーバについて

    サーブレットを動せるレンタルサーバについて 現在、ロリポップ(チカッパプラン)という月額500円程度の(PHPやMySQLが使える)レンタルサーバを借りていますが、共用サーバですのでサーブレットが動かせないです。(tomcatやJDKをインストールすること自体不可能) そこでレンタルサーバでサーブレットを動かそうとする場合、高価な専用レンタルサーバを借り、 tomcatのインストールやJDKの設定を全部自分でやらないといけないのでしょうか? 最初から既にサーブレットが動く環境(Apache+tomcat)がデフォルトで用意されすぐに利用できるようなレンタルサーバは通常ないものでしょうか? 現在、ローカル環境を2つ構築しており、(2)のようなサーブレットが動作する環境が最初から整ったレンタルサーバがないものかと考えています。 普通はレンタルサーバを借りてサーブレットを動かそうとすれば、tomcatやらJDKやら自分で専用サーバにインストール&設定するものなんでしょうか?それ以外に手法はありますか? ローカル環境は2つ構築していています。 (1) windows7 Xampp(Apache2.2+tomcat7連携)JDK6 (2) 自宅サーバ:centOS5.6 Apache2.2+tomcat5.5連携 JDK5 

  • JSPについて

    「はじめてのJSP&サーブレットプログラミング改訂第三版」という参考書を使用して、初めてJSPに挑戦しているのですが、 本の通りに行っているのですが、 「HTTPステータス 404 - /jspBook/view/chap08_jsp/sec01/helloJSPWorld.jsp」 という表示ばかりでてきます。 ttp://localhost:8080 のURL指定でTomcat画面にアクセスはできます。 どうしてもわからないので、回答・アドバイスをお願いします。 Tomcat5.5 Eclipse 3.1.1

    • ベストアンサー
    • Java
  • 最新バージョンで開発すべきでしょうか?

    お世話になります。 これまで、バージョンといたしましては、 Java6、Apache HTTP Server 2.2、Apache Tomcat6をベースとして、 動的Webサイトを、Javaサーブレット、JSP、JavaBeans、MySQLなどで開発してきました。 しかし近々、次の新たな開発が開始予定の為、 開発環境をネットで調査していたところ、最新バージョンとして、 「Java7、Apache HTTP Server 2.4.1、Apache Tomcat7.0.26」などが、 すでにダウンロード可能の様でした。 そこでご質問させていただきます。 今(2012年2月27日(月)現在)から、 新たに上記しましたような動的Webサイトの開発をSTARTする場合には、 Java、Apache HTTP Server 、Apache Tomcatの 各バージョンにつきましては、 「Java7、Apache HTTP Server 2.4.1、Apache Tomcat7.0.26」などの 最新バージョンを採用すべきでしょうか? それとも現在安定して動作を確認済である、 Java6、Apache HTTP Server 2.2、Apache Tomcat6 を採用すべきでしょうか? 質問内容は以上です。 アドバイス等頂けましたら助かります。 よろしくお願いいたします。

    • ベストアンサー
    • Java

専門家に質問してみよう