140 likes | 231 Views
JSP – Java Server Pages. ETIS SS04. Gliederung. Motivation Geschichte Lebenszyklus Bestandteile. Motivation. Serverseitige Technik zur dynamischen Generierung von HTML-Dokumenten (auch XML,...) von Sun Microsystems Einbettung von Java-Code + JSP-Aktionen in statischen Inhalt
E N D
JSP – Java Server Pages ETIS SS04
Gliederung • Motivation • Geschichte • Lebenszyklus • Bestandteile JSP – Java Server Pages
Motivation • Serverseitige Technik zur dynamischen Generierung von HTML-Dokumenten (auch XML,...) • von Sun Microsystems • Einbettung von Java-Code + JSP-Aktionen in statischen Inhalt • frei verfügbar, plattformunabhängig + kann auf mächtige Java-APIs zurückgreifen • Alternativen: z.B. PHP, ASP, Cold Fusion JSP – Java Server Pages
Geschichte (I) • 1997 Servlet API • Hohes Abstraktionsniveau im Gegensatz zu CGI • alle Java-APIs nutzbar • aber: Präsentation eng mit Anwendungslogik verbunden • 1998 JSP • auf Servlets aufbauende Scriptsprache • Erstellung einer Präsentationsschicht erleichtert • Java-Code in HTML eingebettet bei zu viel Java: Probleme mit Testen, Wartung, ... JSP – Java Server Pages
Geschichte (II) • Servlets + JSPs in Anwendungen gemeinsam genutzt Model View Controller (MVC) • Vorstellung z.B. von Struts umgesetzt Controller Model Status ändern View Auswahl zeigen Status erfragen Benutzerverhalten Änderungen JSP – Java Server Pages
Geschichte (III) • für Darstellungslogik benötigter Javacode mittels Tags auslagerbar • Bestrebungen JSP von Skriptsprache zu reiner Templatesprache zu entwickeln (JSP2) • Ausdruckssprache (JSP-EL) • Standard Tag Library (JSTL) • Tag-Files • Festlegung möglich: keine Skripte in JSP-Seite JSP – Java Server Pages
Lebenszyklus einer JSP-Seite Quellcode des Servlets Generierung JSP- Seite bei jeder Änderung der JSP-Seite Übersetzung bei jeder Änderung der JSP-Seite Ausführung Servlet HTML bei jeder Anfrage JSP – Java Server Pages
Bestandteile einer JSP-Seite • Template-Text (HTML / XML) • Direktiven • Skripte • Aktionen JSP – Java Server Pages
Template-Text • Wird unverändert in Response übernommen • <H1> ETIS </H1> • <!-- HTML-Kommentar --> • JSP-Kommentar ist kein Template-Text wird nicht in Ausgabeseite übernommen • <%-- JSP-Kommentar --%> JSP – Java Server Pages
Direktiven • Geben JSP-Engine Anweisungen zur Übersetzung der Seite • Beispiele: • <%@ page import=“java.util.*“ %> • <%@ include file=“test.jsp“ %> • <%@ taglib prefix=“c“ uri=“http://java.sun.com/jstl/core_rt“%> JSP – Java Server Pages
Skripte (I) • Javacode wird in generierte Implementierungsklasse kopiert und zur Laufzeit ausgeführt • Vereinbarungen <%! int max (int a, int b) {return a > b ? a : b} %> • Anweisungen <% String name = request.getParameter(“name“);%> • Ausgabe <%= name%> JSP – Java Server Pages
Skripte (II) • Ein weiteres kleines Beispiel: <% for (int i = 0; i <5; i++){ %> Hallo <% } %> JSP – Java Server Pages
Aktionen • Beeinflussen Seiten in direkter Abhängigkeit von der Anfrage • Beispiele: • <jsp:include page=“test.jsp“ flush=“true“ /> • <jsp:forward page=“test.jsp“ /> JSP – Java Server Pages
Literatur • Turau, V., Saleck, K., Lenz, C., Web-basierte Anwendungen entwickeln mit JSP2, dpunkt.verlag, Heidelberg, 2004 • Wille, S., Go To Java Server Pages, Addison-Wesley, München, 2001 • http://de.wikipedia.org/wiki/JSP JSP – Java Server Pages