• ベストアンサー

作成したサーブレットが表示されません(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 です。 初歩的な質問で申し訳ありませんが、よろしくお願い致します。

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

  • ベストアンサー
回答No.1

Javaは当分やってないので、動くかわかりませんが、あなたのweb.xmlには1つ間違いがあります。 <url-pattern>/hello_servlet1</url-pattern> スラッシュがぬけております。 過去に似たような質問にばか丁寧に答えたのでよかったら参考にしてください。

参考URL:
http://oshiete1.goo.ne.jp/qa2141749.html
Sweet_Milk
質問者

お礼

はじめまして。 お返事ありがとうございます。 確認しましたところ、確かにスラッシュが抜けておりました。 まったく気づきませんでした…ありがとうございます(涙)。 スラッシュを付加の上、Tomcatを再起動の後再試行しましたが、 残念ながら画面は表示されませんでした。 kamkamkam3さんの以前の回答を拝見しましたのですが、 server.xml…というのを、私は設定していないような気がします。 やった事は(環境設定以外では) 1) javaファイルを作成、コンパイルしたものをclassesの直下に格納 2)web.xmlを作成の上WEB-INF直下に格納 3)Tomcatを起動の上、localhost:8080/kajsp/hello_servlet1へ接続 だけなので… もしかすると、他にも設定等必要なのでしょうか…

その他の回答 (3)

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.4

1.Tomcat4.1.31かTomcat5.0.28にして詳しい解説を見る。 2.Tomcat5.5ならばhttp://www.nihon-eng.co.jp/c-break/TechNote/tomcat/TCAT55_MnFrm.htm  を参照。

参考URL:
http://www.nihon-eng.co.jp/c-break/TechNote/tomcat/TCAT55_MnFrm.htm
Sweet_Milk
質問者

お礼

お返事遅くなりました。すみません。 Tomcatは5.5なので、2のURLを参考に 勉強させていただきたいと思います。 ありがとうございました。

回答No.3

server.xmlを設定していない、ということなので間違いなくそれが原因です。 No2の方が示してくれた参考URLで解決できるかと思われます。 いろいろ設定ファイルがあって理解に苦しむかもしれませんが、以下のように覚えておくと便利でしょう。 ■server.xmlとは Tomcatにサーブレットアプリケーションを設定するもの。これに設定することでそのアプリケーションがTomcat上で動作できるようになる。またTomcat全体の設定を行う。 ■web.xmlとは 各アプリケーションごとの設定値を記述xml。 つまり、Tomcatの設定としてserver.xmlが、Tomcat上で動くアプリケーションの設定としてweb.xmlが存在すると言うことです。 Tomcatからみれば、server.xmlは一つで、web.xmlはアプリケーションの数分存在することになります。

Sweet_Milk
質問者

お礼

お返事遅くなりましてすみません。 なるほどです、勉強になります! 会社でも同じような物を使っていて、 まったく理解できなかったので家でと思ったのですが やはり簡単ではありませんね。がんばります。

回答No.2

invokerを有効にすればいいのではないかと思います。 以下を参考にしてみてください http://www.javadrive.jp/servlet/webxml_2_4/index3.html http://www.nextindex.net/java/servlet/deploy.html

参考URL:
http://www.javadrive.jp/servlet/webxml_2_4/index3.html
Sweet_Milk
質問者

お礼

お返事が遅くなりまして申し訳ありません。 以下のURL、参考にさせていただきます、ありがとうございます! 一応、本日動くようになりました。 ありがとうございました♪

関連するQ&A