Tomcatで404エラー

いつものようにビルドしてTomcat起動して、変更箇所を確認。 あれ「HTTP404」あれ? となってしまいました。

ちなみに404エラーはサーバーに接続はできたもののクライアントのリクエストにあたるものが見つからなかったときに表示されるエラーです。

今回、なぜエラーになってしまったかというと、コンテキスト定義の書かれたserver.xmlに問題があったからでした。

例えば、URLとしてhttp:localhost/8080

にアクセスしようとした時にこのURLの続きの”/hogehoge”にアクセスするとどこにリクエストを飛ばしているかを記述しているのがserver.xmlになるのですが、今回は””と”/”に飛ぶ時でそれぞれ別に定義されていました。どちらも同じところを指しているのですが記述内容によってはここでエラーとなってしまうのです。

対処法としては直接、server.xmlの該当箇所を削除してしまうか、

Eclipseで該当箇所が指しているプロジェクトを右クリック→Tomcatプロジェクト→コンテキスト定義を除去

で大丈夫です。こういうのに出会うとコンピュータも融通が利かないやつだな……とか偉そうに思ってしまったり…