※ ChatGPTを利用し、要約された質問です(原文:サーブレットのマッピングについて)
このQ&Aのポイント
サーブレットのマッピングについて教えてください。サーブレットを学習していますが、マッピングがうまくいきません。
http://localhost:8080/エントリポイント/servlet/msにアクセスすると404エラーが返ってきます。
web.xmlの内容は以下のとおりです。MyServletをmsと定義し、サーブレットのマッピングは/classesに設定しています。
サーブレットのマッピングについて教えてください。
現在サーブレットを学習しています。
書籍に付属するサンプルをとりあえず動かしている段階なのですが、マッピングがうまくいきません。
http://localhost:8080/エントリポイント/servlet/MyServlet
とアドレス入力した場合はきちんと表示されるのですが、WEB-INF直下にweb.xmlファイルを作成して
http://localhost:8080/エントリポイント/servlet/ms
にアクセスすると404エラーが返ってきます。
これは何が原因なのでしょうか?
知識不足もあって皆目検討がつかないため、皆様のお力をお借りしたく思います。
よろしくお願いいたします。
なお、サーブレットはWEB-INF直下のclassesというディレクトリ内にコンパイルしておいてあります。
また、web.xmlの内容は以下のとおりです。
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<!-- MyServlet→msと定義する -->
<web-app>
<servlet>
<servlet-name>ms</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ms</servlet-name>
<url-pattern>/classes</url-pattern>
</servlet-mapping>
</web-app>
お礼
ご回答ありがとうございます。 <url-pattern>/classes</url-pattern> を <url-pattern>/servlet/ms</url-pattern> と変更すると、ちゃんと表示されました。 パッケージというものについては、まだよくわかりません。 とりあえず書籍の内容のとおりに、付属CD内のデータを使って動かしてみているだけなのです。 使用した書籍には <url-pattern>/classes</url-pattern> ←配備先ディレクトリ という風に書かれていたのですが、そもそもこれが大嘘だったのですね。 勉強になりました。 ありがとうございました。