- - PR -
Tomcatのサーブレットマッピングについて教えてください。
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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 ] | ||||||||||||
|
投稿日時: 2004-08-25 17:32
ネットを検索するだけでも、かなり情報がでてくると思うのですが・・・。
また、ここ(JavaSolution)でも連載が組まれていたと記憶しています。 | ||||||||||||
|
投稿日時: 2004-08-25 17:32
こんにちは。米山@クロノスです。
HTTPでのステータス・コード404のエラーは「File Not Found」です。 つまり、指定されたファイルをサーバーは見つけることができないということです。
以前Tomcatで配布されていた「servlet.jar」は「servlet-api.jar」に名前が変わっているので、これについては問題ありません。
273行目付近を見てないのですが、たぶんinvokerサーブレットの定義部分ですかね。 セキュリティ上の脆弱性が見つかったため、公開サーバーでのアプリケーションでは利用しない方がいいですが、勉強のためにローカルで動かす分には問題ないでしょう。 「/servlet/・・・」というパスでサーブレットにアクセスするには、fuuさんが書かれているようにコメントをはずす必要があります(invokerサーブレットを有効にするということです)。 invokerサーブレットが有効になっていないため「/servlet/・・・」のアクセスが404エラーになっているものと思われます。 [ メッセージ編集済み 編集者: 米山@クロノス 編集日時 2004-08-25 17:33 ] | ||||||||||||
|
投稿日時: 2004-08-25 17:37
そうですね。 まずは、情報の検索の仕方を少しずつ覚えていくのがいいのではないでしょうか。 この場合だと、Googleで「サーブレット マッピング」というキーワードで検索すれば、かなり"どんぴしゃ"な情報を見つけることができますよ。 | ||||||||||||
|
投稿日時: 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をおく、というような形。 いかがでしょうか。 変でしょうか。 ご教授お願いいたします。 | ||||||||||||
|
投稿日時: 2004-08-25 21:47
そんな感じです。では実際にやってみましょう。
あと、tomcatについているサンプル(example)とかのweb.xmlとか見てみましょう。 | ||||||||||||
|
投稿日時: 2004-08-25 21:48
そんな感じです。では実際にやってみましょう。
あと、tomcatについているサンプル(example)とかのweb.xmlとか見てみましょう。 | ||||||||||||
|
投稿日時: 2004-08-25 21:49
そんな感じです。では実際にやってみましょう。
あと、tomcatについているサンプル(example)とかのweb.xmlとか見てみましょう。 | ||||||||||||
