Quote Originariamente inviata da giannino1995 Visualizza il messaggio
Se questo:
codice:
<%@ page errorPage="/error.jsp" %>
gestisce gli errori nella pagina mentre questo nella webapp:
codice:
<error-page>
    <location>/WEB-INF/error.jsp</location>
</error-page>
è ragionevole usare solo il secondo e omettere il primo, giusto?
Sì, è possibile avere solo 1 <error-page> con il solo <location> e così gestisci tutti gli errori/eccezioni.

Quote Originariamente inviata da giannino1995 Visualizza il messaggio
Come faccio a distinguere in error.jsp:
1) Gli errori http;
2) Gli altri errori.
PageContext ha un getErrorData() che fornisce un oggetto ErrorData. Se la pagina di errore ha il isErrorPage="true", i dati nel ErrorData sono validi e significativi (altrimenti non sono usabili).
All'interno del ErrorData ci sono status-code e l'eccezione (e altro, vedi documentazione). Lo status-code c'è sempre, l'eccezione no, può mancare (=null).

Quindi qualcosa del tipo:

codice:
<%@ page isErrorPage="true"  ....altri attributi....  %>

...

<% if (pageContext.getErrorData().getThrowable() != null) { %>

   ... errore per eccezione ...

<% } else { %>

   ... errore per status-code ...

<% } %>