- PR -

Tomcatのサーブレットマッピングについて教えてください。

投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 80
投稿日時: 2004-08-25 16:45
今、Tomcatに挑戦しています。

http://localhost:8080/
が表示されたので、
試しに、サーブレットのソースを作り、環境変数を設定して、コンパイルすることができたので、
サーブレットを動かしてみようとしたのですが、

http://localhost:8080/examples/servlet/HelloWorldServlet
には、
------------------ここから---------------------------------
HTTP????? 404 - /examples/servlet/HelloWorldServlet

--------------------------------------------------------------------------------

type ?????????

????? /examples/servlet/HelloWorldServlet

?? The requested resource (/examples/servlet/HelloWorldServlet) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.27

-------------------ここまで--------------------------------

が、表示されます。

環境は、
WinXP
Tomcat 5.0
java j2sdk1.4.2_05
です。

[Tomcatのフォルダ]\common\lib の下のservlet.jarというファイルというのがなかったのですが、servlet-api.jar というのがあったので、これのことだと思って、設定をservlet-api.jarにしたのですが・・・コンパイルもできたのですが・・・これが問題なのでしょうか。


「Tomcatバージョン4.1.12以上を使用する場合の注意」というのを見つけたのですが、
それには、
「Tomcatのフォルダ]\conf\web.xmlを編集します。
273行目付近の以下の赤字の2行のコメントアウトの行をはずします。
実際の運用では上記のコメントの削除は行わずweb.xmlでサーブレットマッピングを行うことでサーブレットにアクセスすることをお勧めします。」
とあったのですが、サーブレットマッピングについて教えてください。

お願いします。

[ メッセージ編集済み 編集者: fuu 編集日時 2004-08-25 16:53 ]
Odakaz
ベテラン
会議室デビュー日: 2004/05/24
投稿数: 70
投稿日時: 2004-08-25 17:32
ネットを検索するだけでも、かなり情報がでてくると思うのですが・・・。
また、ここ(JavaSolution)でも連載が組まれていたと記憶しています。
米山@クロノス
大ベテラン
会議室デビュー日: 2003/06/10
投稿数: 103
お住まい・勤務地: 大阪市淀川区西中島4-13-22 新大阪淀川ビル5F
投稿日時: 2004-08-25 17:32
こんにちは。米山@クロノスです。

引用:

fuuさんの書き込み (2004-08-25 16:45) より:

HTTP????? 404 - /examples/servlet/HelloWorldServlet




HTTPでのステータス・コード404のエラーは「File Not Found」です。
つまり、指定されたファイルをサーバーは見つけることができないということです。

引用:

[Tomcatのフォルダ]commonlib の下のservlet.jarというファイルというのがなかったのですが、servlet-api.jar というのがあったので、これのことだと思って、設定をservlet-api.jarにしたのですが・・・コンパイルもできたのですが・・・これが問題なのでしょうか。



以前Tomcatで配布されていた「servlet.jar」は「servlet-api.jar」に名前が変わっているので、これについては問題ありません。

引用:

「Tomcatバージョン4.1.12以上を使用する場合の注意」というのを見つけたのですが、
それには、
「Tomcatのフォルダ]confweb.xmlを編集します。
273行目付近の以下の赤字の2行のコメントアウトの行をはずします。
実際の運用では上記のコメントの削除は行わずweb.xmlでサーブレットマッピングを行うことでサーブレットにアクセスすることをお勧めします。」
とあったのですが、サーブレットマッピングについて教えてください。



273行目付近を見てないのですが、たぶんinvokerサーブレットの定義部分ですかね。
セキュリティ上の脆弱性が見つかったため、公開サーバーでのアプリケーションでは利用しない方がいいですが、勉強のためにローカルで動かす分には問題ないでしょう。
「/servlet/・・・」というパスでサーブレットにアクセスするには、fuuさんが書かれているようにコメントをはずす必要があります(invokerサーブレットを有効にするということです)。
invokerサーブレットが有効になっていないため「/servlet/・・・」のアクセスが404エラーになっているものと思われます。


[ メッセージ編集済み 編集者: 米山@クロノス 編集日時 2004-08-25 17:33 ]
米山@クロノス
大ベテラン
会議室デビュー日: 2003/06/10
投稿数: 103
お住まい・勤務地: 大阪市淀川区西中島4-13-22 新大阪淀川ビル5F
投稿日時: 2004-08-25 17:37
引用:

Odakazさんの書き込み (2004-08-25 17:32) より:
ネットを検索するだけでも、かなり情報がでてくると思うのですが・・・。



そうですね。
まずは、情報の検索の仕方を少しずつ覚えていくのがいいのではないでしょうか。
この場合だと、Googleで「サーブレット マッピング」というキーワードで検索すれば、かなり"どんぴしゃ"な情報を見つけることができますよ。
未記入
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 80
投稿日時: 2004-08-25 19:45
皆様、返信していただき、ありがとうございます。

調べたのですが、確信が得れないので、私の思いがあっているか、どうかを見ていただけますか。お願いします。

「実際の運用では上記のコメントの削除は行わずweb.xmlでサーブレットマッピングを行うことでサーブレットにアクセスすることをお勧めします。」
というのは、

例えば、HelloWorldServlet.javaをコンパイルして「HelloWorldServlet.class」ファイルを[Tomcatのフォルダ]\webapps\javahello\WEB-INF\classesの下にコピーしたとします。
そしたら、

表示する場所が、http://localhost:8080/javahello/servlet/HelloWorldServletArea
の場合、
[Tomcatのフォルダ]\webapps\javahello\WEB-INFに

-------------------ここから--------------------------------------
<?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>HelloWorldServletArea</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>


<servlet-mapping>
<servlet-name>HelloWorldServletArea</servlet-name>
<url-pattern>/servlet/HelloWorldServletArea</url-pattern>
</servlet-mapping>
</web-app>
-----------------ここまで----------------------------------------

が書いてある、web.xmlをおく、というような形。

いかがでしょうか。
変でしょうか。
ご教授お願いいたします。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-08-25 21:47
そんな感じです。では実際にやってみましょう。

あと、tomcatについているサンプル(example)とかのweb.xmlとか見てみましょう。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-08-25 21:48
そんな感じです。では実際にやってみましょう。

あと、tomcatについているサンプル(example)とかのweb.xmlとか見てみましょう。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-08-25 21:49
そんな感じです。では実際にやってみましょう。

あと、tomcatについているサンプル(example)とかのweb.xmlとか見てみましょう。

スキルアップ/キャリアアップ(JOB@IT)