Gestión de excepciones y fin de sesión

This commit is contained in:
Marcos Garcia Nuñez
2019-12-19 00:09:48 +01:00
parent 25a4896426
commit 01f0f5627f
5 changed files with 54 additions and 22 deletions

View File

@@ -2,4 +2,10 @@
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd" version="2.3">
<!-- <factory> -->
<!-- <exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory> -->
<!-- </factory> -->
<factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FacesMessageExceptionHandlerFactory</exception-handler-factory>
</factory>
</faces-config>

View File

@@ -18,7 +18,10 @@
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
@@ -59,14 +62,29 @@
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/error.xhtml?type=expired</location>
</error-page>
<error-page>
<exception-type>java.sql.SQLException</exception-type>
<location>/error.xhtml?type=sql</location>
</error-page>
<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>/error.xhtml?type=runtime</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.xhtml</location>
</error-page>
<error-page>
<error-code>401</error-code>
<location>/error.xhtml?type=expired</location>
</error-page>
<session-config>
<session-timeout>30</session-timeout>
<session-timeout>1</session-timeout>
</session-config>
<!-- The Welcome File List -->

View File

@@ -13,14 +13,17 @@
<p:panel id="ErrorPanel">
<f:facet name="header">
<p:outputLabel value="Se ha producido un error de autorización" rendered="#{param.type == 'auth'}" />
<p:outputLabel value="Su sesión ha caducado" rendered="#{param.type == 'expired'}" />
<p:outputLabel value="Se ha producido un error desconocido" rendered="#{param.type == null}" />
</f:facet>
<div class="ui-g ui-fluid">
<div class="ui-g-12">La acción que estaba realizando a causado un error inesperado en el sistema. A continuación podrá ver un descripción detallada del error para que
pueda comunicarlo al equipo de soporte.</div>
<div class="ui-g-12">
<p:outputLabel rendered="#{param.type != 'expired'}"
value="La acción que estaba realizando a causado un error inesperado en el sistema. A continuación podrá ver un descripción detallada del error para que pueda comunicarlo al equipo de soporte." />
</div>
<div class="ui-g-12" style="font-weight: bold;">
<!-- <p:outputLabel value="No está autorizado a acceder a la página solicitada. Por favor, utilice el menú principal de la aplicación." rendered="#{param.type == 'auth'}" /> -->
<p:outputLabel value="Su sesión ha caducado. Por favor, incie sesión de nuevo en el sistema." rendered="#{param.type == 'expired'}" />
<!-- <p:outputLabel value="Se ha producido un error desconocido. Si vuelve a repetirse, por favor, contacte con el equipo de soporte." rendered="#{param.type == null}" /> -->
</div>

View File

@@ -27,9 +27,9 @@
}
</h:outputScript>
<h:body>
<p:growl id="messages" globalOnly="true" sticky="false" showDetail="true" life="15000" />
<div id="layout">
<div id="top" class="top">
<p:growl id="messages" globalOnly="true" sticky="false" showDetail="true" life="15000" />
<h:graphicImage library="images" name="logo-small.png" />
</div>
<hr />
@@ -39,9 +39,7 @@
<i id="loginSpin" class="pi pi-spin pi-spinner" style="font-size: 3em"></i>
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
<f:facet name="error">Se ha producido un error!</f:facet>
</p:ajaxStatus>
<h:form id="frmLogin">