Se questo:
gestisce gli errori nella pagina mentre questo nella webapp:codice:<%@ page errorPage="/error.jsp" %>
è ragionevole usare solo il secondo e omettere il primo, giusto?codice:<error-page> <location>/WEB-INF/error.jsp</location> </error-page>
Come faccio a distinguere in error.jsp:
1) Gli errori http;
2) Gli altri errori.
Se uso la variabile code potrei scrivere una cosa di questo tipo:
Ma il file web.xml diventerebbe troppo prolisso e non mi piace molto.codice:<% // Si cattura la variabile 'code' dall'URL. String errore = null; boolean httpError = true; try{ errore = request.getParameterValues("code")[0]; }catch(Exception e){ httpError = false; errore = ""; } %> <% if(httpError) {%> <h4>Errore <%= errore %></h4> <div> <img src="/immagini/http-error.jpg" alt="Errore <%= errore %>" class="imgResponsive"> <p>Si è verificato il seguente errore http: <b><%= errore %></b></p> <p>Puoi ricollegarti alla home del sito <a href="/index.jsp">premendo qui</a>.</p> </div> <% } else {%> <h4>Errore</h4> <div> <img src="/immagini/webapp-error.jpg" alt="Errore" class="imgResponsive"> <p>Siamo spiacenti, si è verificato un errore durante l'esecuzione:</p> <p> <%@ page isErrorPage="true"%> <%@ page import="java.io.StringWriter" %> <%@ page import="java.io.PrintWriter" %> <i>Messaggio:</i> </p> <p><strong class="rosso-porpora"><%=exception.getMessage()%></strong></p> <p><i>StackTrace:</i></p> <p class="grigio-40"> <% StackTraceElement[] elements = Thread.currentThread().getStackTrace(); for (int i = 0; i < elements.length; i++) { StackTraceElement s = elements[i]; out.println(s + ")<br>"); } %> </p> <p>Puoi ricollegarti alla home del sito <a href="/index.jsp">premendo qui</a>.</p> </div> <% } %>
Mi daresti una mano a preparare questo file error.jsp?

Rispondi quotando