Grazie mille andbin, gentilissimo come sempre. Su internet trovo scritto che si può anche usare questo codice per tutti gli errori 4xx e 5xx:
codice:
<error-page>
<location>/error45.jsp</location>
</error-page>
ma sembra funzionare da Servlet 3.0 in poi. E' sufficiente modificare il doctipe del mio web.xml per poter usare il codice sopra?
Al momento io ho questo:
codice:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Esercitazione 1</display-name>
La mia idea è di usare javax.servlet.error.status_code, che se ho capito bene fornirebbe un intero del tipo 4xx e 5xx, in error45.jsp.
Gli hosting free e non per java forniscono già il supporto per servlet 3.0 oppure no?
Nel caso fosse rischioso avrebbe senso e funzionerebbe una cosa di questo tipo?
codice:
<error-page>
<!-- Risorsa non trovata. -->
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<error-page>
<location>/error45.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
In prativa sui server in cui non c'è il supporto per servlet 3.0 gestirei solo il 404.
Sempre online trovo anche questo errore:
codice:
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
ma sarebbe superfluo perché sarebbe la stessa cosa di questo, giusto?
codice:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
Creare in ogni progetto 3 pagine di errore sono tante ma meglio di ora.
Il tuo suggerimento non è male, devo ammetterlo però esce un file web.xml lungo un chilometro.
P.S.:
Scrivere:
codice:
<%@ page errorPage="/error.jsp" %>
o scrivere:
codice:
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
è la stessa cosa e quindi posso omettere java.lang.Throwable nel file web.xml?