使ってみました
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/errors/error.jsp</location>
</error-page>
しかし、私は404エラーをキャッチしません。同じページで404などのエラーをキャッチするにはどうすればよいですか?すべてのエラーコードを同じエラーページjspにキャッチしたい。
使ってみました
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/errors/error.jsp</location>
</error-page>
しかし、私は404エラーをキャッチしません。同じページで404などのエラーをキャッチするにはどうすればよいですか?すべてのエラーコードを同じエラーページjspにキャッチしたい。
<error-code>
そのためのタグを追加できます
<error-page>
<error-code>404</error-code>
<location>/errors/error.jsp</location>
</error-page>
アップデート:
更新された質問によると、web.xmlで各エラーコードを個別に定義する必要があります。
を使用<exception-type>java.lang.Throwable</exception-type>
すると、エラー 500 はキャッチされますが、404 はキャッチされません
私はこれを使用しています:
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/pages/exception/sorry.html</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/security/403</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/security/404</location>
</error-page>
Tomcat7 の場合 (古いバージョンでも動作する可能性がありますが、確認していません)
必要なエラー ページを追加します (例: 404.jsp、general_error.php など)。
web.xml に追加します (すべてが最初で、次に具体的です。もちろん、コードに合わせてください):
<error-page>
<location>general_error.php</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>404.jsp</location>
</error-page>
<error-page>
<error-code>409</error-code>
<location>error_page.jsp?error=custom_message</location>
</error-page>