J'utilise un <error-page>
élément dans web.xml pour spécifier la page d'erreur conviviale lorsque l'utilisateur rencontre une certaine erreur telle qu'une erreur avec le code 404:
<error-page>
<error-code>404</error-code>
<location>/Error404.html</location>
</error-page>
Cependant, je veux que si l'utilisateur ne rencontre aucun code d'erreur spécifié dans <error-page>
, il ou elle devrait voir une page d'erreur par défaut. Comment puis-je faire cela en utilisant l'élément dans le fichier web.xml ?
web.xml
déclarée? Depuis Servlet 3.0, il n'y a qu'un moyen simple.Réponses:
Sur Servlet 3.0 ou plus récent, vous pouvez simplement spécifier
Mais comme vous êtes toujours sur Servlet 2.5, il n'y a pas d'autre moyen que de spécifier chaque erreur HTTP courante individuellement. Vous devez déterminer les erreurs HTTP auxquelles l'utilisateur final pourrait être confronté. Sur une application Web barebones avec, par exemple, l'utilisation de l'authentification HTTP, une liste de répertoires désactivée, l'utilisation de servlets et de code personnalisés pouvant éventuellement générer des exceptions non gérées ou ne disposant pas de toutes les méthodes implémentées, vous souhaitez le définir pour les erreurs HTTP 401 , 403, 500 et 503 respectivement.
Cela devrait couvrir les plus courants.
la source
<error-code>
balise?web.xml
fichier XSD le prouve<error-code>
et<exception-type>
est devenu optionnel au lieu d'être obligatoire. Voir le numéro 52135 .Vous pouvez également faire quelque chose comme ça:
Pour le code d'erreur 403, il renverra la page 403.html et pour tout autre code d'erreur, il renverra la page error.html.
la source
Vous pouvez également spécifier
<error-page>
des exceptions en utilisant<exception-type>
, par exemple ci-dessous:Ou mappez un code d'erreur en utilisant
<error-code>
:la source