lunes, 8 de octubre de 2012
Gestión Declarativa de Errores con Servlets - JSP
En las aplicaciones Java EE tenemos dos formas de gestionar los posibles errores que sucedan: declarativamente o programáticamente.
El modo declarativo de gestión es simple de emplear sólo basta con añadir las etiquetas adecuadas al descriptor de despliegue de la aplicación e indicar en las etiquetas cómo se va a gestionar la excepción: mostrando un recurso estático, o invocando a un Servlet.
La otra opción es gestionar errores programáticamente, es decir dentro del código fuente de nuestro Servlet, incluir el código fuente requerido para la gestión de los errores, o incluir redirecciones al recurso estático o dinámico que va a gestionar la excepción.
Excepciones con JSP y Directivas IsErrorPage
Los JSP poseen un mecanismo apropiado para el manejo de excepciones que ocurren en tiempo de ejecución, el cual se describe a continuación:
- El Atributo errorPage de la directiva page se usa para indicar que la página recibe las excepciones lanzadas por algún scriptlet.
- Además, el atributo errorPage de la misma directiva indica la página JSP a la cual se redirigirá el objeto implícito exception(de tipo Throwable) que describe el problema.
- Para manejar errores en tiempo de ejecución, se puede usar una página que indique la naturaleza del error, dicha página debe incluir entre sus directivas lo siguiente: <%@page isErrorPage="false" errorPage="PaginaError.jsp"%>
- La página redirige a su vez el objeto exception a PaginaError.jsp
- La Página PaginaError.jsp debe contener a su vez la directiva: <%@page isErrorPage="true" %>
Estas indicaciones permiten acceder al objeto exception en la página PaginaError.jsp
miércoles, 26 de septiembre de 2012
Scopes en Java Web
Opciones para recordar información
Dentro de la aplicación web tenemos tres ámbitos diferentes para guardar información.El ámbito más reducido es el formado por los atributos que mantenemos en el objetoHttpServletRequest. Los objetos almacenados de este modo sólo duran mientras se procesa una petición del usuario, petición que a veces se va redirigiendo entre distintos Servlets o recursos estáticos del servidor. Una vez que hemos terminado de procesar la petición, el objeto HttpServletRequest y todos sus atributos se destruyen.
El siguiente ámbito sería el dado por la sesión del usuario. Los objetos que mantenemos con atributos de la sesión permanecerán en ella hasta que la sesión se invalide, o bien porque el usuario ha permanecido demasiado tiempo inactivo, o bien porque la hemos invalidado programáticamente. Tanto los objetos que se almacenan en la petición, como los que se almacenan en la sesión del usuario sólo son accesibles para el propio usuario. No es posible que otro usuario acceda de ningún modo alguno de estos objetos.
El tercer ámbito es el dado por contexto de la aplicación web. Los objetos almacenados en dicho contexto son accesibles a todos los componentes de la aplicación web, independientemente del usuario que esté accediendo a dicho componente. Esto convierte al contexto en una forma sencilla de almacenar información global para toda la aplicación, como por ejemplo un catálogo de productos que va a ser compartido por varios Servlets.Una cuarta opción para "recordar" información son las cookies. En este caso, también sólo se pueden emplear para recordar información sobre un único usuario, y no para compartir información entre varios usuarios.
Suscribirse a:
Entradas (Atom)