¡Adiós errores genéricos! 👋 Cómo personalizar las páginas de error en Tomcat

Hola a todos. ¿Estás cansado de ver las aburridas y genéricas páginas de error de Tomcat? Si quieres que tu aplicación tenga un diseño coherente incluso cuando ocurre un error, esta información te será muy útil. Aquí te muestro cómo personalizar las páginas de error 404 (no encontrado) y 500 (error interno del servidor) para que se adapten a la identidad de tu proyecto.


El archivo web.xml: Tu punto de partida

La forma más sencilla de lograr esto es editando el archivo web.xml, que es el descriptor de despliegue de tu aplicación. La configuración que coloques aquí afectará a todo el contexto de tu proyecto, asegurando que las páginas de error personalizadas se muestren de forma consistente.

Para cada código de error que quieras manejar, debes agregar una etiqueta <error-page> dentro del archivo web.xml.

<error-page>
    <error-code>404</error-code>
    <location>/error/error404.jsp</location>
</error-page>

  • <error-code>: Aquí defines el código de error HTTP que quieres interceptar, como 404 para un recurso no encontrado o 500 para un error en el servidor.

  • <location>: Esta es la ruta a tu página de error personalizada. Es una ruta relativa al directorio raíz de tu aplicación web (por lo general, la carpeta WEB-INF).


Diseña tu propia página de error

Una vez que has configurado web.xml, el siguiente paso es crear la página de error personalizada. Puedes usar cualquier tecnología de vista, como JSP, HTML o servlets. Aquí tienes un ejemplo simple en HTML:

<html>
<head>
    <title>Error 404 - Recurso No Encontrado</title>
</head>
<body>
    <h1>¡Ups! Algo salió mal.</h1>
    <p>El recurso que buscas no está disponible. Por favor, contacta al administrador del sistema.</p>
</body>
</html>

Coloca este archivo en la ruta que especificaste en el web.xml (en el ejemplo, sería /error/error404.jsp).


Cómo funciona en la práctica

La personalización de las páginas de error se aplica a nivel de tu aplicación. Considera el siguiente escenario con un contexto llamado prueba:

  • Si accedes a un recurso que existe en tu proyecto (por ejemplo, http://localhost:8080/prueba/existe.jsp), la página se mostrará normalmente.

  • Si intentas acceder a un recurso que no existe en tu proyecto (por ejemplo, http://localhost:8080/prueba/algo.htm), Tomcat detectará el error 404 y te redirigirá a tu página personalizada.

  • Si intentas acceder a un contexto que no existe o a un recurso fuera de tu proyecto (por ejemplo, http://localhost:8080/otra_prueba/algo.htm), Tomcat manejará el error con su página por defecto, ya que esta configuración solo aplica al contexto de tu aplicación.

Espero que esta guía te ayude a dar un toque profesional a tus aplicaciones web.

About Mario | Macla Editorial

Especialista en tecnología y ciberseguridad corporativa. Consultor en estrategias de transformación digital, automatización con IA y análisis de infraestructura. A través de MaclaTech, asesoro a organizaciones en la implementación de soluciones tecnológicas seguras y escalables para el mercado global.

6 comments: