1. はじめに
こんにちは。株式会社ゼネットの伊藤です。
皆さんは、Tomcatを使用している際に404エラーが出て、困ったことはありませんか?
本記事では、404エラーの原因の一つである、web.xmlの記載方法に関してご紹介いたします。
ぜひ参考にしてみてください!
HTTPステータス 404 - Not Found
Type ステータスレポート
メッセージ /Basic/ForwardServletB
説明 The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
Apache Tomcat/8.5.32
2. web.xmlとは?
web.xmlとは、URLとServletの紐づけに必要なファイルのことです。
web.xmlの記述が間違えていると、紐づけができないため、ファイルが存在しないという意味である404エラーが発生します。
3. web.xmlで確認してほしいこと
3.1. <servlet-name>は一致しているか
まず、<servlet-name>を確認してみてください。
<servlet>要素と<servlet-mapping>要素の子要素である
<servlet-name>の値は一致していないといけません。
3.2. <servlet-name>が重複していないか
上記の方法でエラーが無くならない場合、
他の<servlet>や<servlet-mapping>内の<servlet-name>を確認してみてください。
同じ<servlet-name>を複数設定することはできません。
3.3. <servlet-class>にて、クラスの場所の指定は間違えていないか
次に、クラスファイルの配置場所を確認してみてください。
<servlet-class>内では、「パッケージ名.クラス名」と記載する必要があります。
3.4. <url-pattern>にて、/を忘れていないか
最後に、<url-pattern>要素を確認しましょう。
<url-pattern>要素で指定する値は、必ず"/"(スラッシュ)で始めないといけません。
4. おわりに
いかがでしたか?
Tomcatのエラーやweb.xmlの記述で困っている方のお力になれましたら幸いです!