サーブレットの実行について

このQ&Aのポイント
  • サーブレットの実行について
  • Tomcatをインストールし、アクセスしても404エラーでページが表示されません。
  • Tomcat起動後にアプリケーションを設定し、サーブレットファイルを配置しても404エラーになってしまいます。
回答を見る
  • ベストアンサー

サーブレットの実行について

サーブレットの実行について http://www.hellohiro.com/servlet.htm こちらを参考しながら設定してみたのですが、 アクセスしても404エラーでページが表示されません。 Tomcatをインストールし http://localhost:8080 にてindex.jspが表示されることは確認できました。 Tomcat起動後 http://localhost:8080/manager/htmlからアプリケーションjavahelloを設定しました。 そして サーブレットファイル(A.class)を[Tomcatのフォルダ]\javahello\WEB-INF\classesの下にコピーし、 http://localhost:8080/javahello/servlet/A とブラウザにしてすると404エラーになってしまいます。 何か設定が足りていないのでしょうか? どなたか教えてください。よろしくお願いします。 環境 Windows XP Tomcat 5.5

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

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

  • ベストアンサー
  • gimmick
  • ベストアンサー率49% (134/270)
回答No.1

web.xmlにサーブレットマッピングを記述していますか?

参考URL:
http://www.hellohiro.com/servletwebxml.htm
riseshinejp
質問者

お礼

ありがとうございます。 記述がまったく違っていたので以下のように記述したのですが、今度は『HTTPステータス 500 』エラーがでてしまいます。 説明 The server encountered an internal error () that prevented it from fulfilling this request. とありました。 どこが間違っているのでしょうか? よろしくお願いします。 --------web.xml---------- <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>A</servlet-name> <servlet-class>javahello.A</servlet-class> </servlet> <servlet-mapping> <servlet-name>A</servlet-name> <url-pattern>/servlet/A</url-pattern> </servlet-mapping> </web-app>

その他の回答 (1)

  • gimmick
  • ベストアンサー率49% (134/270)
回答No.2

500が返ってきたということは、http://localhost:8080/javahello/servlet/A へのアクセスはできているということです。一歩前進です。 エラー画面の詳細情報を元にデバッグしてください。

riseshinejp
質問者

お礼

<servlet-class>javahello.A</servlet-class> から <servlet-class>A</servlet-class> に変更してみたところ無事アクセスできました。 ありがとうございました。

関連するQ&A

  • サーブレットが実行できない

    似たような質問が何件かあるのですがそちらを読んでも解決できないので、質問させてください。 java servlet初心者なのですが、 http://www.hellohiro.com/servlet.htm のサイトをもとにサーブレット環境を自分のパソコンで作ろうとしています。 とりあえず ・Tomcat5.5.23をダウンロード ・http://localhost:8080でページが表示されることを確認 ・HelloWorldServlet.classを作る。 まで正常にできました。 その後、 [Tomcatのフォルダ]\webapps\examples\WEB-INF\classes にHelloWorldServlet.classをコピーし、 http://localhost:8080/examples/servlet/HelloWorldServlet  を実行したところ 404エラーが発生しました。 もともとwebappsファイル下にexamplesというファイルがなかったのですが、これは正常なのでしょうか? jsp-examplesファイルとservlets-examplesファイルがあったのでその中の \WEB-INF\classes下にHelloWorldServlet.classを入れてみたり、 webapps下に\examples\WEB-INF\classesを作って、その中にそのclassファイルを入れてみたりといろいろやってみたのですが、 まったくエラーは変わりません。 何が悪いのかわからないのですが、 何かアドバイスをいただけないでしょうか? お願いします。

    • ベストアンサー
    • Java
  • サーブレットの実行について

    本を読んでjavaの勉強をしているのですが、本が 古いせいか、サーブレットの実行がうまくいきません。 いろいろ検索し下記サイトを参考にして、 http://www.hellohiro.com/servlet.htm まずTomcat(apache-tomcat-4.1.36)をダウンロードし、 下記のように環境変数を設定しました。 JAVA_HOME-- C:\j2sdk1.4.2_16 CLASSPATH-- .;%JAVA_HOME%lib\tools.jar PATH -- C:\j2sdk1.4.2_16\bin そしてファイルをコンパイルし、本のとおりに Tomcat下にYJKSample\06\web-INF\classesとフォルダを作成、 コンパイルしたクラスファイルをclasses内に置き、 http://localhost:8080/YJKSample/06/servlet/Sample1 と指定してみましたがうまくいきません。 ところがサイトのとおりにTomcat\webapps\examples\WEB-INF\classes 下にクラスファイルを置いて、 http://localhost:8080/examples/servlet/Sample1 と指定するとうまくいきました。 本を読み進めるにあたって、やり方がかなり違ってくるため できれば本のとおりにやりたいのですが、うまくいく方法は ないでしょうか? 何がいけないのかわからず頭を痛めています。 どなたかお知恵をいただけると幸甚です。 ちなみにOSのバージョンはWindows XP HomeEditionです。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • サーブレット実行時のエラー

    サーブレットを実行したときにTomcatでこのようなエラーが出てしまいます。 http://aohina.boy.jp/err.bmp クラスパス&パスはすべて通してあり、http://localhost:8080/には接続できますのでTomcatは動いてると思います。 Tomcatのバージョン:5.5.9 Javaのバージョン:jdk1.5.0_02 ここを参考にサンプルプログラムを作ろうと思ってます。 http://www.hellohiro.com/servlet.htm

    • ベストアンサー
    • Java
  • Javaサーブレットを読み込んでくれません…

    現在、社内での新プロジェクトの為にJSPの研修を行っています。 開発環境 ・Windows2000 Service Pack 4 ・JDK 1.5.0_06 ・Tomcat 5.5.20 JDKとTomcatのインストールは正常に終了し、http://localhost:8080/は正常に見ることが出来ました。 その後、<Tomcat-Home>/webapps/ROOT/entryフォルダを作成し、 ・entry/WEB-INF/ ・entry/WEB-INF/classes/ 以上二つのフォルダを作成して、WEB-INFフォルダ直下にweb.xmlファイルを作成しています。 classesフォルダの中にHelloServlet.classを置き、web.xmlファイルの中身を書き換えてTomcatを再起動させてみたのですが、http://localhost:8080/entry/HelloServletとURLを打ってみても見ることが出来ません。 何か間違っているのか、設定不足なのか…教えていただければ幸いです、よろしくお願いいたします。 ************<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> *********************************

    • ベストアンサー
    • Java
  • サーブレットファイル 404

    OS はWindows 8で、JDK 6 、Tomcat 6です。 今朝からサーブレットやjspのリンクを叩いても 「 ~を開くことが出来ません。インターネットサイトのレポートによるとリクエストしたアイテムが見つかりませんでした。(HTTP/1.0 404) 」 としか出なくなりました。昨日までは表示されていたんですが・・・ http://localhost:8080/で左上に猫のロゴがあるページは表示されます。 例としてSample1.javaがありますが、 アドレスはhttp://localhost:8080/自分のフォルダ/servlet/Sample1で このサーブレットファイルはC:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\自分のフォルダ\WEB-INF\classesにあります。  web.xml(C:\Users\自分の名前\Desktop\プログラム\Java基本\java_prc\YJK_ish\WEB-INFの直下に有) を確認しても <servlet> <servlet-name>Sample1</servlet-name> <servlet-class>Sample1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample1</servlet-name> <url-pattern>/servlet/Sample1</url-pattern> </servlet-mapping> と入っています。 一応8080でバッティングさせないようにPHPで使う方のApache のサーバーもhttpd -k stopで止めておきました。 考えられる原因は何でしょうか? 他に確かめる方法は無いのでしょうか?

    • ベストアンサー
    • Java
  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ・ファイルの配置 basic |-input |...|-echo.jsp |-WEB-INF |...|-src |......|-input |.........|-EchoServlet.java |...|-classes |......|-input |.........|-EchoServlet.class |...|-web.xml ・echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="../servlet/input.EchoServlet"> ・web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> tomcatの/confのinvokerのコメントは外していません。 過去の質問も調べてみて、上記の記述の辺りがおかしいのではないかと 思うのですが、、お気付きの点がありましたら教えて頂けないでしょうか。

    • ベストアンサー
    • Java
  • Tomcat 4.1での配備方法

    Tomcat 4.0で動作していたアプリがTomcat 4.1だと動作しません。配備方法が変わったんでしょうか? 導入時のサンプル/examplesのサーブレット/JSPは動きますが、そのContext要素の上に記述したContextのdocBaseで指定したパスのWEB-INF/classes/*.classがブラウザから呼び出せないのです(localhost:8080/.../servlet/*)。ちなみに、ドキュメントルート直下にindex.htmlをおいたところ、問題なく参照できました(localhost:8080/.../index.html)。 よろしくお願いします。

    • ベストアンサー
    • Java
  • resinでサーブレットを起動したい

    こんばんは。 リクエストに対して、単純にレスポンスを返すサーブレットを作っています。 これを、resinで動かしたいと思っています。 ところが、resinで起動したところ、以下のメッセージを出力して、サーブレットが起動しません。 (web.xmlの10行目に、<servlet-class>greeting.Hello</servlet-class>を書いています) com.caucho.config.LineConfigException: WEB-INF/web.xml:10: `greeting.Hello' is not a known servlet. Servlets belong in the classpath, often in WEB-INF/classes. ただ、まったく同一のサーブレットをtomcatで起動すると、エラーもなく正常に動きます。 ですので、resinの設定に問題があるのでは、と思い、 いろいろ調べてみたのですが、いっこうに分かりませんでした・・・。 resin.confなどの各設定ファイルは、何も変更しておらず、すべてデフォルトのままです。 Javaやresinのバージョンです。 JRE 1.4.0-02 resin 3.0.9 tomcat 6.0 もし、同じようなエラーを経験した方がいらっしゃったら、 どのように解決したのか、何が原因だったのか、教えて頂きたいです。 よろしくお願いします。

  • JSPファイルは参照できましたが、サーブレット不可

    JSPファイルは参照できましたが、サーブレットが上手く行きません Eclipse(Ver3)+Tomcat6を使用し、「サーブレット&JSP 逆引き大全」のコーディングを行っております。 JSPファイルは参照できましたが、サーブレットが上手く行きません 表示しようとすると下記エラーが出ます。 The requested resource (/myapp/Sample014/) is not available. ◎web.xmlの設定 [省略]・・・・・・・・・・・・ <servlet> <servlet-name>Sample014</servlet-name> <servlet-class>com.gokui.Sample014</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample014</servlet-name> <url-pattern>/Sample014</url-pattern> </servlet-mapping> [省略]・・・・・・・・・・・・ ◎ロケーション D:\Users\ueda\workspace\myapp\WEB-INF\web.xml ◎状態 ・http://localhost:8080/myapp/Sample015.jsp は表示される。 ・http://localhost:8080/myapp/Sample014/ は表示されず。 下記URLは参照したのですが、未解決です。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1158881041 http://www.javaroad.jp/bbs/answer.jsp?q_id=20100904015203906 アドバイス頂けると有り難いです。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • Tomcatにおけるサーブレットの呼び出し

    tomcatに関してですが、現在サーブレットからjspを呼び出すようなことをしたいと思い、web.xmlを以下のように設定し、”http:localhost:8080/servlet/Login”としても『HTTP Status 404 - 』が返却されます。jspからサーブレットを呼び出すことはできるのですが・・・(この場合、jspファイルをWEB-INFの直下にディレクトリを作成するとやはりアクセスができませんでした。WEB-INFと同レベルに置けばアクセスは可能でした。)。 どなたかわかる方がいれば教えて下さい! よろしくお願いします。 --------------- 環境 --------------- Windows2000Server eclipse ver2.1.1 tomcat ver4.1 --------------- ディレクトリ構成 --------------- WEB-INF Lclasses | LLogin_serv.java Ljsp LLogin.jsp --------------- web.xml --------------- <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE web-app PUBLIC "-//SUN Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>Login</servlet-name> <servlet-class>serv.Login_serv</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet> <url-pattern>Login</url-pattern> </servlet-mapping> </web-app> 補足:tomcat-confにあるweb.xmlの『invoker』はコメントを外し有効にしてます。

    • ベストアンサー
    • Java

専門家に質問してみよう