• ベストアンサー

Tomcat で Java サーブレットを動かす方法

こんにちわ Tomcat 3.3.1 でサーブレットを動作させる実験をしています。 現在サンプルプログラムが、http://[host_name]:8080/examples/ で動作しています。 ※ウェブサーバーは使用していません。 ここで質問です。 自分で任意のフォルダを作成し、その中にクラスファイルを格納して実行する場合の設定方法が分かりません。 examples フォルダ以下を見ると、 Web-inf servlets Meta-inf 等のフォルダが有ります。 サーブレットを実行する際に、この構成は必須なのでしょうか? この辺の設定方法が解説されているサイトまたは、書籍など有りましたら情報をください。 よろしくお願い致します。

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

  • ベストアンサー
  • TMINET
  • ベストアンサー率32% (45/140)
回答No.2

作成したフォルダへのパスが通ってないのだと思います。 ちょっと記憶が定かでないのですが*.confファイルにパスを追加してやればよいと思います。 ここは確認されましたか? http://www.t3.rim.or.jp/~yoko-k-h/java/servlet/index.html

sho_ta
質問者

お礼

回答ありがとうございました。 とりあえず手探りで、下記の方法で実現しました。 1.なにかフォルダを作る 今回は \test 2.server.xml に以下を追加 <Context path="/test" docBase="/test" crossContext="false" debug="0" reloadable="true" > </Context> 3.1.で作った test フォルダ以下に Web-inf\classes フォルダを作成 4.\test\Web-inf\classes\ 以下に実行したいサーブレット tt.class を格納 5.startup.bat でtomcat 起動 6.IE で http://localhost:8080/test/servlet/tt に接続 7.tt.class が起動する事を確認 現在不明な点は、 1.Web-inf/class にサーブレットクラスを格納しなくてはイケナイの? 2.ブラウザでアクセスする際、 servlet と言うフォルダをパスに含めなくてはイケナイの? とっいトコロです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • covachan
  • ベストアンサー率38% (46/120)
回答No.1

まず、マニュアルを見てください。 すべてそこに書かれてあります。 簡単に書くとclassファイルをおきたいのであれば Web-inf\classesになります。 classファイルをjarで使用したいのであればWeb-inf\libに置きます。 servletsは別に必要はないと思います。 Meta-infはWebApplicationの設定ファイルなどを置きます。 ですが、クラスファイルを使用するだけならば 別にどこに置こうが構わないと思います。 結局のところ、classpathが通っていればいいだけなので。 参考URLに翻訳されたドキュメントのURLを書いておきますので 参考にしてみてください。

参考URL:
http://www.ingrid.org/jajakarta/tomcat/
sho_ta
質問者

補足

回答有り難うございました。 現在、公式マニュアルその他で調査中です。 平行してこちらのサイトで質問させて頂いています。 で・マニュアル内に記述されている内容で理解できない個所が多々有ります。 もしお時間有りましたら、ぜひ御教授くださるようお願い致します。 例えば、 「Jakarta NTサービスと共に動かす」の項目です (http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/NT-Service-howto.html) この中で、 1.NTの実行ファイル (jk_nt_service.exe)を入手する 実行ファイルを、あなたがTomcatバイナリ配布物をダウンロードしたディレクトリの下にあるwin32/i386ディレクトリからダウンロードします。 と記述されていますが、win32/i386 と言うフォルダが見つかりません。 あと、Jsp であれば、格納フォルダとエイリアスを conf/server.xml 内に記述し、ブラウザでアクセスすれば実行されますが、サーブレットが同様の方方で実行できません。(やり方が間違っているのかな?)

全文を見る
すると、全ての回答が全文表示されます。

関連する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
  • TOMCAT5

    こんにちは。 またまた質問させていただきます。 TOMCAT5の設定(?)なのですが、うまく行きません! TOMCAT5にもとから入っているservlets-examplesフォルダのサーブレットにはアクセスできます。 でもそこに自分が作ったファイルを置き同じようにアクセスすると404エラーが出ます。 また、新たに自分でアプリケーションフォルダ(?)を作成すると今度はそのフォルダ自体にアクセスできません(404エラー)。 ネットにあったTomcatの設定通りにやっているつもりなのですが…。 これが足りないんじゃない?って言うのがあったら教えて下さい。お願いします。

    • ベストアンサー
    • 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
  • JSP/サーブレットについて

    JSP/サーブレットのMVCモデル風にJSP、サーブレットと、Beanを作成したばあい、サーバーに各プログラム?をどう配置し、プログラム内でのお互いの具体な指定の仕方がぴんときません。 指定の仕方とはたとえばサーブレットからJSPを呼ぶときgetServletContext().getRequestDispatcher("xxxxx/aaaaaa.jsp").forward(......); とコーディングするとおもいますが、この場合のxxxxxと実際にサーバーに配置する場合の関連です。 サーブレットは...../WEB-INF/classesに置くとか、Beanは...../WEB-INF/classes/パッケージ名に配置するのはわかります。JSPは通常どこにおくのでしょうか?たとえばC:\Tomcat\webapps\examplesなのか C:\Tomcat\webapps\examples\jspなのか? その場合プログラムないではどう指定するのが一般的なのでしょうか? 文章がわかりにくくてすいません。 開発環境はWindowsXP,Apache,Tomcatの場合です。

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

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

    本を読んで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サーブレットの呼び出し方について

    こんにちわ!yukimura1024です。 tomcat5.0.27でサーブレットをやっているのですが、 web.xmlでurl-patternを定義したのもはブラウザでアドレスを入力しても サーブレット内からrequest.getRequestDispatcherで呼び出しても見つかるのですが、 それ以外の、web.xmlでurl-patternを定義していないサーブレットは 同じディレクトリにおいてあるサーブレットでもまったく呼び出せません(TT サーブレットの数だけweb.xmlにurl-patternを定義しなくてはならないのでしょうか? 昔は特に設定しなくても呼び出せていた気がします。。。 この辺についてわかる方、教えていただけると幸いです。 よろしくお願い致します。

    • ベストアンサー
    • 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 もし、同じようなエラーを経験した方がいらっしゃったら、 どのように解決したのか、何が原因だったのか、教えて頂きたいです。 よろしくお願いします。

  • 【Tomcatが突然動かなくなりました!教えて下さい!】

    こんにちは。 現在、Tomcatを利用してWebを作成しています。 しかし午前は使用できていたのに午後にはThe requested resource (/wl_jsp/Index.jsp) is not available.と いうエラーが出る様になりました。 以下はTomcatのログです。 2007-04-26 17:00:24 StandardContext[/servlets-examples]ContextListener: contextInitialized() 2007-04-26 17:00:24 StandardContext[/servlets-examples]SessionListener: contextInitialized() JSPは確かに存在しています。 不思議な点は2つのフォルダがあります。 Aが(wl_jsp) Bが(Test)だとするとAでエラーの出たIndex.jspをBに移動させると表示されます。 大変困っているのでどなたかご教授下さいませ。お願い致します!

    • ベストアンサー
    • Java