- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サーブレットのマッピングについて)
サーブレットのマッピングについて
このQ&Aのポイント
- サーブレットのマッピングについて教えてください。サーブレットを学習していますが、マッピングがうまくいきません。
- http://localhost:8080/エントリポイント/servlet/msにアクセスすると404エラーが返ってきます。
- web.xmlの内容は以下のとおりです。MyServletをmsと定義し、サーブレットのマッピングは/classesに設定しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#49664
回答No.1
<url-pattern>/classes</url-pattern>ですと、http://localhost:8080/○○/classesというURLに公開することになってしまいます。 おそらく、<url-pattern>の意味を勘違いされているのでしょう。これは、クラスがある場所ではなく、クラスの公開先です。/servlet/msに公開したければ、<url-pattern>/servlet/ms</url-pattern>とする必要があります。 それから、<servlet-class>がMyServletとなっていますが、これはパッケージはないのですか? 例えば、jp.hogeパッケージに配置されているのであれば、jp.hoge.MyServletと指定しなければクラスは見つからないので注意してください。
お礼
ご回答ありがとうございます。 <url-pattern>/classes</url-pattern> を <url-pattern>/servlet/ms</url-pattern> と変更すると、ちゃんと表示されました。 パッケージというものについては、まだよくわかりません。 とりあえず書籍の内容のとおりに、付属CD内のデータを使って動かしてみているだけなのです。 使用した書籍には <url-pattern>/classes</url-pattern> ←配備先ディレクトリ という風に書かれていたのですが、そもそもこれが大嘘だったのですね。 勉強になりました。 ありがとうございました。