La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Corso Java/J2EE JSP Elaborazione di Franco Grivet Chin.

Presentazioni simili


Presentazione sul tema: "1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Corso Java/J2EE JSP Elaborazione di Franco Grivet Chin."— Transcript della presentazione:

1 1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Corso Java/J2EE JSP Elaborazione di Franco Grivet Chin

2 2 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 1 – JSP introduzione Una pagina JSP e un documento testuale composta da dati template statici e da elementi JSP che creano dinamicamente i contenuti Nel design pattern MVC (Model View Controller) le JSP ricoprono il ruolo di view (viste) La pagina JSP viene tradotta nella equivalente Servlet e poi compilata (non viene interpretata) Gli elementi JSP e il codice Java sono racchiusi fra degli speciali delimitatori JSP 1.0 uso di scriplet (blocchi di codici java) e java beans, JSP 2.0 uso di tag libraries e Expression Language

3 3 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 2 Ciclo di vita delle JSP La Jsp viene completamente tradotta in una classe che estende HttpServlet La servlet così generata viene compilata La servlet generata viene instanziata e segue lo stesso ciclo di vita della servlet Le servlet JSP vengono inizializzate con il metodo jspInit e rimosse con jspDestroy (definiti nellinterfaccia javax.servlet.jsp) Le JSp eseguono i loro compiti tramite il metodo _jspService

4 4 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 Elementi delle pagine JSP Elementi JSP istruzioni per il container JSP che indicano quale codice generare Tre tipi fondamentali di elementi JSP Elementi script Espressioni scriplet dichiarazioni) Direttive Azioni

5 5 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 Elementi di script Definiscono codice di script contenuto direttamente nella pagina JSP Tre tipi di elementi: dichiarazioni, espressioni e scriplet Dichiarazione il codice (java) viene inserito nel body della servlet generata fuori dal metodo service. Posso anche inserire un metodo Espressione lespressione è valutata e messa in output (variabili che voglio stampare a video) Scriplet il codice (java) viene inserito nel metodo service della servlet Commenti Oggetti predefiniti: sia nelle espressioni che negli scriplet sono già disponibili un insieme di oggetti predefiniti disponibili generati dinamicamente nel processo di traduzione (request, response, out, session, application)

6 6 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 Jsp : direttive DIRETTIVE: forniscono informazioni al container JSP che vengono elaborate durante la fase di traduzione da JSP a Servlet Forma generale Direttiva page Specifica gli attributi della pagina JSP Attributi comunemente usati Info,import,contentType, pageEncoding,language,isScriptingEnabled(true/false), extends, session (true /false), buffer (buffer di output), autoflush (true o false), isThreadSafe (true o false), isErrorPage (true o false), errorPage(URL)

7 7 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 JSP: Esempi di direttive Import: Sessione:Di default la sessione è attiva in ogni pagina JSP Inclusione:Per inserire contenuti di altre pagine direttamente nelloutput della pagina corrente. Viene processata durante la traduzione (testo incluso nella pagina) Si può utilizzare anche lazione jsp:include con lattributo page, nel qual caso viene processato durante lesecuzione (request mandata al file incluso se dinamica e risultato incluso nella response)

8 8 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 JSP: Esempi di direttive Inclusione di librerie di tag:dichiara le librerie di marcatori usate nella pagina, composte da un file XML(TLD),descrittore della libreria di marcatori, e dai vari file di marcatori e/o classi Java che implementano le azioni dei marcatori Esempio Lord of the rings Esistono librerie predefinite come JSLThttp://web3Dweb.com/tags

9 9 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 JSP:azioni Le azioni sono elementi JSP che possono essere utilizzati allinterno di una pagina per effettuare delle operazioni su oggetti impliciti e non Sintassi xml-like body oppure ESEMPIO (utilizzata solo nelle azioni include, forward)

10 10 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 Traduzione da JSP a Servlet Durante la traduzione da JSP a Servlet i vari elementi sono tradotti in modo differente - le parti statiche (HTML) sono inserite nel metodo _jspService come delle out.println(..html..) - gli scriplet e le espressioni sono inseriti nella classe servlet generata nel metodo _jspService - le dichiarazioni sono inseriti nella classe servlet generata fuori dall metodo _jspService - le direttive sono usate per controllare come il container traduce ed esegue la pagina JSP e possono essere inserite in vari punti - jsp[include/forward] sono tradotte in chiamate alle API servlet (RequestDispatcher) - tag personalizzati sono sono tradotti in chiamate per il gestore di tag

11 11 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 3 Traduzione da JSP a Servlet Se si verifica un errore durante la traduzione o la compilazione viene generata una JasperException e un messaggio con la pagina JSP che ha generato lerrore e la linea dellerrore Dopo che la pagina è stata tradotta e compilata la servlet generata segue il ciclo di vita delle servlet -se non esiste unistanza della servlet il container a)carica la classe della servlet b)Instanzia unistanza della classe servlet c) Inizializza la servlet chiamando il metodo jspInit - Il container chiama il metodo _jspService passando gli oggetti request e response - se il container deve rimuovere la servlet chiama il metodo jspDestroy

12 12 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Expression Language Una nuova caratteristica di JSP 2.0 è il supporto per un Expression Language (EL) che permette di accedere facilmente ai dati di un JavaBeans ${name} stampa il valore della variabile name dallambito più basso al più alto Esiste un interprete di JSP Expression Gli EL possono essere usati nel testo statico o combinati con i tag standard o personalizzati … Ricerca degli attributi:una variabile che appare in unespressione (es. ${prodotto}) viene cercata nello scope di pagina, request, sessione e applicazione e ne restituisce il valore. Se la variabile non viene trovata viene restituito null

13 13 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 6 Expression Language Le expression language possono accedere a oggetti impliciti - pageContext: contesto della pagina JSP che permette di accedere a -servletContext -session -request -response Altri oggetti impliciti sono: -param: per assegnare un parametro della request a un valore -paramValues: per assegnare un parametro della request a un array di valori -cookie: recuperare un cookie -initParam: per assegnare un parametro dellinizializzazione del contesto a un valore Oggetti per accedere aa attributi di scope specifico: -pageScope,requestScope,sessionScope,applicationScope ${param.nome}

14 14 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 6 Expression language

15 15 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 6 Expression language

16 16 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Tag Libraries:JSTL Java Server Pages Standard Tag Libraries Permette di utilizzare un insieme standard di TAG (non tag html ma in fase di traduzione vengono trasformati in codice java) JSTL contiene tag iteratori e condizionali,tag per manipolare XML, tag per internazionalizzazione,tag per accedere a database con SQL e tag per funzioni Per utilizzare la JSTL occorre utilizzare la direttiva taglib nella pagine jsp Lattributo prefix è legato al tipo di funzioni da utilizzare

17 17 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 6 JSTL

18 18 Titolo Presentazione / Data / Confidenziale / Elaborazione di... 6 JSTL

19 19 Titolo Presentazione / Data / Confidenziale / Elaborazione di...


Scaricare ppt "1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Corso Java/J2EE JSP Elaborazione di Franco Grivet Chin."

Presentazioni simili


Annunci Google