Sur Servlet 3.0 ou plus récent, vous pouvez simplement spécifier
<web-app ...>
<error-page>
<location>/general-error.html</location>
</error-page>
</web-app>
Mais comme vous êtes toujours sur Servlet 2.5, il n'y a pas d'autre moyen que de spécifier chaque erreur HTTP commune individuellement. Vous devez déterminer quelles erreurs HTTP l'utilisateur final pourrait rencontrer. Dans le cas d'une application Web de base avec, par exemple, l'utilisation de l'authentification HTTP, une liste de répertoires désactivée, l'utilisation de servlets personnalisés et d'un code qui peut éventuellement lancer des exceptions non gérées ou dont toutes les méthodes ne sont pas implémentées, il est préférable de définir les erreurs HTTP 401, 403, 500 et 503 respectivement.
<error-page>
<!-- Missing login -->
<error-code>401</error-code>
<location>/general-error.html</location>
</error-page>
<error-page>
<!-- Forbidden directory listing -->
<error-code>403</error-code>
<location>/general-error.html</location>
</error-page>
<error-page>
<!-- Missing resource -->
<error-code>404</error-code>
<location>/Error404.html</location>
</error-page>
<error-page>
<!-- Uncaught exception -->
<error-code>500</error-code>
<location>/general-error.html</location>
</error-page>
<error-page>
<!-- Unsupported servlet method -->
<error-code>503</error-code>
<location>/general-error.html</location>
</error-page>
Cela devrait couvrir les plus courantes.
2 votes
Quel conteneur de servlet utilisez-vous/ciblez-vous et quelle version de servlet utilisez-vous ?
web.xml
déclaré ? Il existe un moyen simple depuis Servlet 3.0.0 votes
J'utilise Tomcat 6 et Servlet 2.5.