Las páginas de error de etiqueta blanca parecen contundentes y podrían afectar negativamente la experiencia del usuario. Aprenda a crear páginas de error personalizadas con Thymeleaf.

El software experimenta errores. Incluso las mejores aplicaciones encontrarán errores en algún momento. Por lo tanto, cada aplicación debe contar con algunos mecanismos de manejo de errores.

Spring Boot proporciona una página de error Whitelabel predeterminada como componente de su configuración automática para el manejo de errores. No obstante, la expectativa es que los desarrolladores creen una página de error personalizada que reemplace la página de error de Whitelabel. En este artículo, aprenderá cómo personalizar la página de error para sus aplicaciones Spring Boot.

Página de error de etiqueta blanca de Spring Boot

Cuando una aplicación Spring Boot encuentra un error, solicita la /error URL. Si no hay ninguna vista en esta ubicación, muestra la página de error de Whitelabel:

La página de error de Whitelabel indica la fecha y hora del error, junto con su zona horaria correspondiente. Además, indica el tipo de error y su código asociado. La página de Whitelabel afirma que

instagram viewer
este es un error 404 (página no encontrada). Esto se debe a que la aplicación de muestra no tiene ninguna asignación para la URL "/productos".

La mayor parte de la información presentada en la página de error de Whitelabel se toma de atributos de error específicos. La vista de errores de Spring Boot tiene acceso a los siguientes atributos de error:

  • error: el motivo del error.
  • marca de tiempo: la fecha y hora en que se produce el error.
  • estado: el código de estado de error.
  • excepción: el nombre de clase de la excepción raíz (si el error es el resultado de una excepción).
  • mensaje: el mensaje de excepción (si el error es el resultado de una excepción).
  • errores: Cualquier resultado de una excepción BindingResult (si el error es el resultado de una excepción).
  • rastro: el seguimiento de la pila de excepciones (si el error es el resultado de una excepción).
  • camino: La ruta URL donde ocurre el error.

Creando una página de error con Thymeleaf

Su aplicación Spring Boot debe tener una única página de error almacenada dentro de una plantilla de "error". La extensión de esta plantilla variará según la tecnología de plantilla que decida utilizar. Por ejemplo, si opta por una plantilla de páginas de servidor Java (JSP), el nombre del archivo debe ser error.jsp.

Sin embargo, esta aplicación Spring Boot de muestra utiliza el motor de plantillas Thymeleaf. Entonces, el nombre de la plantilla es error.html. Debes colocar consistentemente tu plantilla de error en el plantilla carpeta, debajo de recursos directorio con todos los demás archivos de plantilla.

El archivo error.html

html>
<htmlxmlns: th="http://www.thymeleaf.org">
 <head>
<title> Errortitle>
<linkrel="stylesheet"th: href="@{/css/style.css}"/>
 head>
 <bodyth: style="'background: url(/images/background1.jpg)
 no-repeat center center fixed;'">
<divclass="container" >
<h1>An error has occurred...h1>
<imgth: src="@{/images/error-icon.png}"
width="100px" height="100px" />
<p>There seems to be a problem with the page you requested
(<spanth: text="${path}">span>).p>
<pth: text="${'The status code is ' + status
+ ', which means that the page was ' + error + '.'}">p>
<pth: text="${'Further details: ' + message + '.'}">p>
<aclass="btn"href="/home">Back to homea>
div>
 body>
html>

La página de error personalizada realiza varias tareas importantes. Declara la ocurrencia de un error. Posteriormente, muestra la solicitud HTTP que desencadenó el error. Además, proporciona al usuario el código de estado asociado al error. Pero si el usuario no está familiarizado con los códigos de estado, la página también explica el significado del código a través del atributo de error.

La última línea de texto presenta al usuario un mensaje en caso de una excepción. Luego, el enlace al final permite al usuario regresar a la página de inicio. El error.html El archivo utiliza una hoja de estilo CSS y dos imágenes para crear la siguiente vista:

Mantenga su página de error fácil de usar

El objetivo principal de la página de error es informar al usuario que se ha producido un error específico. Sin embargo, esta página de error sigue siendo un aspecto de la aplicación. Por lo tanto, es fundamental garantizar que la página de error también sea fácil de usar.

Esto significará optar por utilizar los atributos de error que comunican el error de una manera más sencilla. Por lo tanto, puede optar por utilizar el atributo de ruta en lugar del atributo de seguimiento, que es mucho más complejo y contiene detalles que el usuario no necesita conocer.

Tampoco desea proporcionar a un usuario aleatorio información excesiva sobre el funcionamiento interno de su aplicación, ya que esto podría comprometer la seguridad de la aplicación.