Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more. :: Mappa del sito
Tutorials & Scripts, PHP, Linux and more.

Home :: Jsp :: Indice Jsp

Gestire gli errori con le JSP

Inserito il: 31-08-2005


Come per tutti i linguaggi di scripting server side (e non solo), anche nella creazione delle JSP abbiamo la possibilità gestire i comportamenti e gli output che normalmente non dovrebbero avere luogo, le cosiddette "exceptions", attraverso componenti built-in forniti dal linguaggio stesso.

Nella maggior parte dei linguaggi, gli errori vengono gestiti attraverso la visualizzazione di una error page recante la notifica dei malfunzionamenti ed eventuali informazioni che possano portare alla loro soluzione.

Facciamo un breve esempio, riprendiamo lo script utilizzato per descrivere il ciclo while nel capitolo 9 di questa guida e modifichiamolo eliminando il primo delimitatore "<%" dal codice ; eseguendo il nuovo codice tramite il nostro Servlet Engine otterremo certamente una notifica simile a questa:
HTTP Status 500 - 
type  Exception report 


message 
description The server encountered an internal error () 
that prevented it from fulfilling this 

request.

exception 
org.apache.jasper.JasperException: 
Unable to compile class for JSP

An error occurred 

at line: 2 in the jsp file: /while2.jsp 
Generated servlet error: 
valore cannot be resolved 

An error occurred 

at line: 2 in the jsp file: /while2.jsp 
Generated servlet error: 
valore cannot be resolved 

An error occurred 

at line: 2 in the jsp file: /while2.jsp 
Generated servlet error: 
valore cannot be resolved 



(................)

note The full stack trace of the root cause 
is available in the Apache Tomcat/5.5.9 

logs.

Apache Tomcat/5.5.9

Eliminando il primo delimitatore, abbiamo "corrotto" la parte di codice in cui viene assegnato un valore alla variabile "valore", Tomcat ci invia infatti un messaggio molto chiaro "valore cannot be resolved".

Questi "Exception reports" sono molto utili in fase di sviluppo per venire velocemente a capo degli errori; in fase di produzione è invece consigliabile (anche per una semplice questione formale) non mostrare questi "ineleganti" output agli utenti.

Sarà quindi buona norma creare una errorpage personalizzata da richiamare nel caso in cui dovessero verificarsi delle Exceptions. Se decidessimo di chiamare la nostra pagina di errore "errore.jsp", potremo indicarla al Servlet Engine con una semplice stringa come questa:
<%@ page errorPage="errore.jsp" %>
Per esempio, potremo creare una errorpage "errore.jsp" semplicissima contenente questo codice:
<h1>Errore nell'esecuzione della JSP</h1>
Con un po di fantasia la grafica risulterà certamente pił piacevole, ma per ora ci basti osservare l'efficacia del risultato. Inseriamo la pagina appena creata nella root del Servlet Engine e passiamo alla seconda parte del nostro esempio.

Creeremo un piccolo script in cui cercheremo di passare un valore assurdo e formalmente errato ad una variabile senza dimenticarci di specificare all'inizio del codice l'opportuno richiamo alla pagina di errore:
<%@ page errorPage="errore.jsp" %> 
<% 
    int valore = valido/valido; 


%>
A questo punto basterà eseguire il codice appena digitato dopo averlo salvato in un pagina ".jsp" per visualizzare il risultato desiderato.

Attenzione: Gli articoli su Tomcat presenti in questa sezione sono stati concessi in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.


Indice Jsp
Apache (19)
CGI (11)
Java (12)
Linux (18)
Manuali (6)
Perl (12)
Php (134)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (0)
Forum



Le Servlet
Essendo degli elementi fondamentali e peculiari all'interno della tecnologia che sta alla base dell'architettura per le JSP, le Servlet meritano... Leggi l'articolo


Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti

Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
Ceptive.it
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Visual designer
Forum per Webmaster




Pagina caricata in 0.0001 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS