• ベストアンサー

TOMCATでのサーブレット環境構築

hameggsの回答

  • ベストアンサー
  • hameggs
  • ベストアンサー率38% (8/21)
回答No.3

WEB-INFの下にweb.xmlがないためですね。 旧バージョンではconfフォルダのweb.xmlで デフォルトで特に気にしなくても動いていた ようですが、セキュリティの観点から現在は その部分がコメントアウトされているみたいですね。 なのでとりあえず 「Servletを組んでみたい」 「Servletのプログラムを学んでみたい」 というのであれば、confフォルダのweb.xmlの <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> がコメントアウトされていると思うので、コメントアウト をはずしてください。ただ、あまりお勧めはしません^^; ちゃんとWEB-INFの下に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>test</servlet-name> <servlet-class>test</servlet-class> </servlet> <servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/servlet/test</url-pattern> </servlet-mapping> </web-app> のような感じでweb.xmlを作ればとりあえずは 動くと思います。 ちなみに当方はちゃんと確認をとっていないので、 自身がなかったり^^; では、がんばってください

参考URL:
http://www.sk-jp.com/java/servlet/webxml.html
ocat_uske
質問者

補足

動作しました。 ありがとうございます。 ですが、マシンを再起動したところ、動作しなくなりました。 manager/listで確認してみたところ、ステイタスがstopedになっていました。 manager/stert?path=/... で動かそうと試みましたが、動きません。どうしてでしょうか?

関連するQ&A

  • java servlet tomcat エラー

    サーブレット用のクラスファイルがwebページ (http://localhost:8080/examples/servlet/HelloWorldServlet) で見ることができないんですがなんででしょうか? http://localhost:8080にはアクセスできるからtomcatは正常に起動してるんですが。 ちなみにファイル HelloWorldServlet.class はtomcat 6.0\webapps\examples\WEB-INF\classesに保存してあります。 エラー内容は下記のようになっています。 ーーーーーーーーーーーーーーーーーーーーーーーーーーー HTTPステータス 404 - /examples/servlet/HelloWorldServlet type ステータスレポート メッセージ /examples/servlet/HelloWorldServlet 説明 The requested resource (/examples/servlet/HelloWorldServlet) is not available. ーーーーーーーーーーーーーーーーーーーーーーーーーーー

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

    似たような質問が何件かあるのですがそちらを読んでも解決できないので、質問させてください。 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
  • 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
  • サーブレットの実行について

    本を読んで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
  • JSPの環境構築がうまくいきません(Tomcat5.5 J2SE5.0)

    恐縮ながら文字数ギリのためメモ帳にコピー改行お願いします。当方、PHPを少しかじった程度のプログラム初心者です。恥ずかしながら初歩の段階でわからず困っています。自分なりに試行錯誤してみたのですが完全にはまってしまいました。どなたかアドバイスをよろしくお願いします。J2SEとしてjdk-1_5_0_03-windows-i586-p.exeをインストールしました。ユーザー環境変数は、次のように設定【変数】JAVA_HOME【値】C:\Program Files\Java\jdk1.5.0_03【変数】CATALINA_HOME【値】C:\Program Files\Apache Software Foundation\Tomcat 5.5【変数】CLASSPATH【値】.;C:\Program Files\Java\jdk1.5.0_03\jre\lib;C:\Program Files\Java\jdk1.5.0_03\lib;C:\Program Files\Java\jdk1.5.0_03\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar;%CATALINA_HOME%\webapps\jsp10\WEB-INF\classes;【変数】PATH 【値】.;%JAVA_HOME%\bin;C:\Program Files\MySQL\MySQL Server 4.1\bin;C:\Program Files\Anchor\bin コマンドプロンプトの実行結果です。C:\>java -version★java version "1.5.0_03"Java(TM) 2 Runtime Environment, Standerd Edition (built 1.5.0_03-b07)Java HotSport(TM) Client VM (build 1.5.0_03-b07,mixed mode, sharing) 続いてTomcatのjakarta-tomcat-5.5.9.exeをインストール http://localhost:8080/ と入力しておなじみのTomcatのページを見ることができました。しかし JSP Examples をクリックして JSPの動作を確認しようとすると以下のようなページに・・★HTTPステータス 404 - /jsp-examples/type ステータスレポート メッセージ /jsp-examples/説明 The requested resource (/jsp-examples/) is not available.Apache Tomcat/5.5.9

    • ベストアンサー
    • 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
  • サーブレットのマッピングについて

    サーブレットのマッピングについて教えてください。 現在サーブレットを学習しています。 書籍に付属するサンプルをとりあえず動かしている段階なのですが、マッピングがうまくいきません。 http://localhost:8080/エントリポイント/servlet/MyServlet とアドレス入力した場合はきちんと表示されるのですが、WEB-INF直下にweb.xmlファイルを作成して http://localhost:8080/エントリポイント/servlet/ms にアクセスすると404エラーが返ってきます。 これは何が原因なのでしょうか? 知識不足もあって皆目検討がつかないため、皆様のお力をお借りしたく思います。 よろしくお願いいたします。 なお、サーブレットはWEB-INF直下のclassesというディレクトリ内にコンパイルしておいてあります。 また、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"> <!-- MyServlet→msと定義する --> <web-app> <servlet> <servlet-name>ms</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ms</servlet-name> <url-pattern>/classes</url-pattern> </servlet-mapping> </web-app>

    • ベストアンサー
    • 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
  • 作成したサーブレットが表示されません(Tomcat使用)

    はじめまして。 本を見ながらサーブレットを作成、実行したところエラーに 検索するも知識が浅いために理解できず、行き詰ってしまいました。 解決法ご存知の方おられましたら、ご教示いただけますと幸いです。 ************ (略)Tomcat 5.5\webapps\kajsp\WEB-INF\classesの直下にhello_servlet1.classを置き実行したところ、以下のエラーが… ************ HTTPステータス 404 - /kajsp/hello_servlet1 ------------ ステータスレポート /kajsp/hello_servlet1 The requested resource (/kajsp/hello_servlet1) is not available. ------------ Apache Tomcat/5.5.20 ************ web.xmlファイルは以下のとおりです。WEB-INF直下に置きました。 ************ <?xml version="1.0" encoding="Windows-31J"?> <servlet> <servlet-name>hello_servlet1</servlet-name> <servlet-class>hello_servlet1</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello_servlet1</servlet-name> <url-pattern>hello_servlet1</url-pattern> </servlet-mapping> ************ http://localhost:8080/ は見る事ができるのですが、 http://localhost:8080/kajsp/hello_servlet1 ではエラーが出ます。 ************ 環境は Windows XP Home(SP2) JDK JRE:1.5.0_09 Tomcat:5.5 です。 初歩的な質問で申し訳ありませんが、よろしくお願い致します。

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

    サーブレットの実行について 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