JavaServer Pages
In informatica JavaServer Pages, usualmente indicate con le abbreviation JSP (legite anque alcun vices como Java Scripting Preprocessor), es un technologia de programmation web in Java pro le disveloppamento del "logica de presentation" (typicamente secundo le patrono Modello-Vista-Controllator (MVC)) de applicationes Web, pro provider contentos dynamic in formato HTML o XML. Illo se basa sur un ensemble de etiquettas de HTML/XML special, intra un pagina web HTML, con le qual on pote invocar functiones predefinite in forma de codice Java (JSTL) e/o functiones Javascript. In addition, illo permitte de crear bibliothecas de nove etiquettas qui extende le ensemble del etiquettas standard (JSP Custom Tag Library). Le bibliothecas de etiquettas JSP pote esser considerate extensiones independente del platteforma del functionalitate de un servitor web. DescriptionIn le contexto del platteforma Java, le technologia JSP es correlate con isto del servlet: al tempore del prime invocation, le paginas web JSP es de facto traducite automaticamente per un compilator JSP a in servlet. Un pagina web JSP pote dunque esser vidite como un representation de alto nivello de un servlet. A causa de iste dependentia conceptual, anque le uso del technologia JSP require le presentia, super le servitor web, de un servlet container, ultra que de un servitor specific JSP dicite "motor JSP" (qui include le compilator JSP); usualmente, servlet container e motor JSP es integrate in un unic producto (per exemplo, Tomcat exeque ambe le functiones). JSP es un technologia alternative in comparation a numerose altere approches al generation de paginas web dynamic, per exemplo PHP, o ASP o le plus traditional CGI. Illo differe de iste technologias non tanto per le typo de contentos dynamic qui pote esser producite, quanto per le architectura interne del programmatura qui constitue le application web (e, de consequentia, sur le tempores de disveloppamento, le portabilitate, le modificabilitate, le performantias, e altere aspectos de qualitate del programmatura). Paradigma MVCSun Microsystems recommenda de usar le patrono Modello-Vista-Controllator (MVC) con le paginas web JSP de maniera a divider le nivello de presentation ab isto del elaboration del requesta e ab le memorisation del datos. Le normal servlet o pagina web JSP dedicate es usate pro tractar le datos. Post que le eleboration es terminate, le controlo passa a un pagina web JSP qui serve solo a visualisar le rendimento. Iste ultima pagina web JSP deberea continer solo HTML, XML e action e etiquetta JSP; le pagina web deberea facer uso del JavaBeans pro obtener le datos. In altere terminos in le disveloppamento de un application web le convention vole que in le JSP il ha minus de codice Java possibile e illo presente va reclamar codice Java native (objectos e methodos) implementate in classes separate special dicite exactemente JavaBeans. Iste separation permitte de facto un facile reuso de codice del Javabeans un vice reclamate in un qualcunque puncto requirite del application web. Structura de un pagina JSPUn pagina JSP es un documento de texto, scribite con un syntaxe specific, qui representa un pagina web de contento partialmente o totalmente dynamic. Per elaborar le pagina web JSP, le motor JSP produce dynamicamente le pagina web HTML final qui essera presentate al navigator web del usator. Le pagina web JSP pote continer tres typos de elementos, le quales corresponde a tres diverse modos de elaboration: contentos static, directivas e scripto. Contentos staticLe contentos static es portiones del pagina web JSP qui debe esser mantenite integralmente in le pagina web generate dynamicamente, sin alcun elaboration. Illos debe dunque esser scribite in le linguage de marcation del qual le cliente pote beneficiar directemente, per exemplo HTML (si le cliente es un navigator web), WML (si le cliente es un telephono mobile qui accede al pagina web in WAP) o XML (varie typos de cliente). DirectivasLe directivas JSP pote esser interpretate como commandos al motor JSP. Iste commandos es exequite in un phase de pretractamento, prime que le portiones del pagina web contenente scripto es elaborate. Le duo directivas principal es
ScriptingLe tertie categoria de elementos presente in un pagina web JSP es fragmentos de codice original in Java. Iste fragmentos de codice es dunque exequite per le Machina Virtual Java e produce in rendimento un texto, qui va contribuer al fonte del pagina web in via de generation. Le invocation de codice Java es le clave del generation de paginas web dynamic in JSP; per exemplo, le paginas web JSP de un sito web de compras online poterea includer codice Java qui verifica le disponibilitate de un producto e genera in rendimento un pagina web qui reporta iste information. DeclarationesLe pagina web JSP pote includer declarationes de attributos e methodos, introducite per le sequentia <%! int serverInstanceVariable = 1; %>
ExpressionesLe expressiones es introducite per le sequentia <body>
Vos es le usator registrate nr. <%= registroUtenti.conta() %>
<body>
ScriptletLe scriptlets es fragmentos de codice immergite in un qualunque puncto del texto. Conceptualmente, on pote immaginar que durante le construction del pagina web dynamic, le motor JSP include sin elaborationes le contentos static, in procedente ab alto verso le basso in le documento, e exeque immediatemente eventual scriptlet incontrate durante le operation. Technicamente, iste scriptlets es includite in le methodos del servlet generate per le pagina web JSP, intra le methodos qui produce le responsa a un requesta HTTP. Variabiles impliciteLe elementos de codice in un pagina web JSP pote referer se a un ensemble de variabiles predefinite:
Actiones JSPLe actiones JSP es etiquettas XML qui permitte de controlar alcun aspectos del comportamento del servitor web. Alcun exemplos es le sequentes:
Bibliothecas de etiquettas JSPUltra al actiones predefinite, le disveloppatores pote adder action disveloppate per illes pro usar le API pro le extensiones del etiquettas JSP. Le disveloppatores scribe un classe Java qui implementa un del interfacies Tag e provide un descrition XML del bibliotheca in le qual on specifica le etiquettas e le classes Java qui lo implementa. Considera le sequente codice: <%@ taglib uri="mytaglib.tld" prefix="myprefix" %>
...
<myprefix:myaction> <%-- le etiquetta de apertura %>
...
</myprefix:myaction> <%-- le etiquetta de clausura %>
...
Le compilator JSP cargara le file
NOTA: si le etiquetta extende le classe Quando le etiquetta de clausura es incontrate, le methodo
Le etiquetta public class MyActionTag extends TagSupport
{
//Releases all instance variables.
public void release() {...}
public MyActionTag() { ... }
//called for the start tag
public int doStartTag() { ... }
//called at the end tag
public int doEndTag() throws JspTagException { ... }
}
InternationalisationLe internationalisation del paginas web JSP es obtenite mediante le mesme technica usate in le normal applicationes Java, in altere parolas in usante le resource bundles. ExemplosLe sequente fragmento suggere como on poterea crear un intestation a diverse paginas web, de sorta que le presentation pote variar in alcun detalio (per exemplo, per render non cliccabile le ligamine al pagina web currente): <jsp:include page="intestation.jsp" > //include un parte standard
<jsp:param name="istepagina" value="contacts"/> //forni informationes specific
</jsp:include>
Le proxime exemplo illustra como diriger in modo uniforme le insertion de un applet Java in un pagina web. Ante le advento del etiquetta <jsp:plugin type=applet height="100%" width="100%"
archive="myjarfile.jar,myotherjar.jar"
codebase="/applets"
code="com.foo.MyApplet" >
<jsp:params>
<jsp:param name="enableDebug" value="true" />
</jsp:params>
<jsp:fallback>
Your browser does not support applets.
</jsp:fallback>
</jsp:plugin>
In le sequente fragmento, un objecto con nomine
<jsp:useBean id="myBean" class="com.foo.MyBean" scope="request" />
<jsp:getProperty name="myBean" property="lastChanged" />
<jsp:setProperty name="myBean" property="lastChanged" value="<%= new Date()%>" />
JSP 2.0Le nove version del specification JSP include nove functionalitate designate a incrementar le productivitate del disveloppator. In detalio:
Ligamines externe
|
Portal di Ensiklopedia Dunia