JavaServer Pages: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Funzionalità collegamenti suggeriti: 1 collegamento inserito.
 
(5 versioni intermedie di 4 utenti non mostrate)
Riga 10:
| proprietario =
| licenza =
| data_pubblicazione =
| data_rilascio =
| ultima_versione =
| data_ultima_versione =
Riga 25:
==Descrizione==
 
Nel contesto della [[piattaforma Java]], la tecnologia JSP è correlata con quella delle [[servlet]]: all'atto della prima invocazione, le pagine JSP vengono infatti [[compilatore|tradotte]] automaticamente da un [[compilatore JSP]] in [[servlet]]. Una pagina JSP può quindi essere vista come una rappresentazione ad alto livello di un servlet. Per via di questa dipendenza concettuale, anche l'uso della tecnologia JSP richiede la presenza, sul [[server web]], di un ''[[servlet container]]'', oltre che di un server specifico JSP detto ''[[JSP engine|motore JSP]]'' (che include il compilatore JSP); in genere, servlet container e motore JSP sono integrati in un unico prodotto (per esempio, ''[[Apache Tomcat|Tomcat]]'' svolge entrambe le funzioni).
 
JSP è una tecnologia alternativa rispetto a numerosi altri approcci alla generazione di pagine web dinamiche, per esempio [[PHP]], o [[Active Server Pages|ASP]] o la più tradizionale [[Common Gateway Interface|CGI]]. Differisce da queste tecnologie non tanto per il tipo di contenuti dinamici che si possono produrre, quanto per l'architettura interna del software che costituisce l'applicazione web (e, di conseguenza, sui tempi di sviluppo, la portabilità, la [[modificabilità]], le prestazioni, e altri aspetti di [[qualità del software]]).
 
=== Paradigma MVC ===
[[Sun Microsystems]] raccomanda di utilizzare il [[Design pattern|pattern]] [[Model-View-Controller]] con le pagine JSP in modo da dividere il [[livello di presentazione]] da quello dell'elaborazione della request e dalla memorizzazione dei dati. Le normali [[servlet]] o delle pagine JSP dedicate vengono utilizzate per processare i dati. Dopo che l'eleborazione è terminata, il controllo passa ad una pagina JSP che serve solo a visualizzare l'output. Quest'ultima pagina JSP dovrebbe contenere solo [[HTML]], [[XML]] e action e tag JSP; la pagina dovrebbe far uso dei [[JavaBean]]s per ottenere i dati.
 
In altri termini nello sviluppo di un'[[applicazione web]] la convenzione vuole che nelle JSP ci sia meno codice Java possibile e quello presente vada a richiamare codice Java nativo (oggetti e [[metodo (programmazione)|metodi]]) implementato in classi separate apposite dette appunto JavaBeans. Questa separazione consente infatti un facile [[riuso di codice]] dei Java beans una volta richiamato in un qualsiasi punto richiesto dell'applicazione web.
Riga 43:
Le direttive JSP si possono interpretare come comandi rivolti al motore JSP. Questi comandi vengono eseguiti in una fase di ''[[preprocessore|preprocessing]]'', prima che siano elaborate le porzioni della pagina contenenti [[script]]. Le due direttive principali sono <code>include</code> e <code>page</code>.
 
* '''<code>include</code>''': ordina al motore JSP di includere un altro file in quello corrente. È un'operazione equivalente a quella di [[copia e incolla|copiare e incollare]] il contenuto del file indicato in quello corrente. (Una direttiva di questo tipo è simile a quella prevista dal [[preprocessore]] del [[C (linguaggio)|C]]/[[C++]]). Questa direttiva può essere usata, per esempio, per realizzare contenuti ricorrenti in diverse pagine di un [[sito web]].
 
:<code><nowiki><%@ include file="filedaincludere.ext" %></nowiki></code>
Riga 178:
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|http://www.oracle.com/technetwork/java/javaee/jsp/|Pagina ufficiale}}
* {{cita web|http://java.sun.com/developer/onlineTraining/JSPIntro/|Tutorial ufficiale Sun}}
* {{cita web | 1 = http://www.courses.coreservlets.com/Course-Materials/ | 2 = Tutorial e guide free | accesso = 12 ottobre 2006 | dataarchivio = 19 gennaio 2007 | urlarchivio = https://web.archive.org/web/20070119124040/http://courses.coreservlets.com/Course-Materials/ | urlmorto = sì }}
 
{{Portale|informatica}}
 
[[Categoria:Java EE]]