Hoy en día, y debido a la gran masificación que ha tenido Internet,
es más que probable que en este preciso momento
millones de personas alrededor del mundo
estén accediendo a un sitio web.
Sea por cuestión de negocios, educación, entretenimiento,
o simplemente por pasar el rato,
prácticamente es inconcebible pensar en el día a día
sin este poderoso medio de comunicación.
Pero así como hay millones de personas
que visitan millones de sitios web,
existe la posibilidad de que se presenten
millones de errores al intentar acceder
a la información almacenada en los diversos sitios web.
Estos errores se pueden dar por múltiples razones,
pero sin duda, la más recurrente es que el contenido buscado
no se encuentra alojado en dicho servidor.
Si bien es normal que esto suceda,
es absolutamente necesario que un sitio web
tenga una página por defecto para informar los errores.
Eso se debe hacer por diversos motivos,
pero el que concierne a este articulo,
es para evitar exponer información técnica de la aplicación
que pueda ser utilizada posteriormente
por un atacante con el fin de comprometer
el correcto desempeño del sitio web.
En esta solución, se explicará
la manera de generar páginas de error personalizadas
en las aplicaciones desarrolladas en Java EE.
-
Se debe utilizar el archivo
de configuración de la aplicación web.xml.
En dicho archivo se puede mapear los errores
a URLs especificas utilizando el elemento <errorpage>.
-
El elemento crea un enlace
entre el código del error o el tipo de error
con la ubicación del recurso o página de la aplicación.
-
Dentro de la sección <error-page>
se pueden utilizar los siguientes subelementos:
-
error-code: Es un entero que identifica el código del error.
-
Exception-type: Nombre completo de la clase
del tipo de excepción Java.
-
Location: Ubicación del recurso dentro del root de la aplicación.
-
Personalizar la pagina mediante el código de error.
web.xml
<error-page>
<error-code>401</error-code>
<location>/ejemplo/ERROR/401.html</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/ejemplo/ERROR/404.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/ejemplo/ERROR/500.html</location>
</error-page>
-
Personalizar la pagina mediante el tipo de excepción.
<error-page>
<exception-type>java.io.FileNotFoundException</exception-type>
<location>/ejemplo/ERROR/FileNotFound.html</location>
</error-page>
-
Para establecer una página genérica
para cualquier tipo de error que ocurra en la aplicación
se debe considerar la siguiente configuración.
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/ejemplo/ERROR/exception.html</location>
</error-page>