1 / 25

Java Server Pages 2 und Benutzerdefinierte Tags

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov. Überblick. Einleitung JSP im Kontext von J2EE JSP2 Benutzerdefinierte Tags Zusammenfassung. Einleitung. Java Server Pages ist eine Technik für die Entwicklung dynamischer Web-Seiten.

Download Presentation

Java Server Pages 2 und Benutzerdefinierte Tags

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov

  2. Überblick • Einleitung • JSP im Kontext von J2EE • JSP2 • Benutzerdefinierte Tags • Zusammenfassung

  3. Einleitung • Java Server Pages ist eine Technik für die Entwicklung dynamischer Web-Seiten. • JSP ermöglicht die schriftliche Spezifikation von der Erzeugung einer dynamischen Antwort auf eine Anforderung • JSP unterstützt die Trennung zwischen Sicht und Geschäftslogik für eine Webanwendung.

  4. JSP und J2EE • In der Regel, legt J2EE das Modell wobei viele Benutzer über das Web auf eine Anwendung zugreifen fest. • JSP ist so sehr gut für die Präsentationsschicht der J2EE geeignet. • JSP entspricht die “View“-Ebene beim MVC Modell:

  5. JSP und J2EE • JSP ist auf eine andere Technologie zur dynamischen Generierung von Dokumenten basiert—Java Servlets. • Ein Servlet ist eine Java Klasse die auf einen Server lauft und Anforderungen von Client Browsers ausführt. • Das Servlet generiert dynamische Web-Seiten durch Einbettung von HTML in seinem Java Code.

  6. JSP und J2EE • JSP Seiten führen dasselbe Funktion wie Servlets aus. Diesmal aber, sie erreichen das durch die Einbettung von Java Code (oder anderem Skript Sprache) in HTML. • Deshalb können sie auch wie „umgestülpte“ Servlets gezeichnet werden.

  7. JSP und J2EE • Bei Übersetzung, JSP Quell-Code ist erst zu Servlet Code und dann zu ausführbarem Programm umgewandelt. • Der Lebenszyklus einer JSP-Seite ist wie folgt:

  8. JSP und J2EE • Hier ist ein Beispiel der Übersetzung. Das ist ein Teil der JSP Seite: <HTML> <BODY> <%! String name = new String("BOB"); %> <%! public String getName() { return name; } %> Hello <B><%= getName() %></B> </BODY> </HTML>

  9. Und hier ist der entsprechende Teil des generierten Servlets: out.write("<HTML>\r\n<BODY>\r\n\r\n"); // end // begin out.write("\r\n"); // end // begin out.write("\r\n\r\nHello <B>"); // end // begin [file="D:\\Expressions.jsp";from=(6,12);to=(6,23)] out.print( getName() ); // end // begin out.write("</B>\r\n\r\n</BODY>\r\n</HTML>\r\n"); // end

  10. JSP2 • JSP 2.0 ist ein Upgrade von JSP 1.2. • Die folgenden syntaktischen Schwerpunkte sind in JSP2 von den vorigen Versionen geerbt: • Skripte • Direktive • Standard Aktionen

  11. Skripte • Skripte versehen JSP mit dynamischer Verhaltung. • Mit denen kann man Variablen vereinbaren und lesen, Iteration und Bedingungen verwenden, usw. • Das Ergebnis von ihren Ausdrücken kann als Teil vom HTML Code verwandet werden.

  12. Direktive • Direktive bestimmen globale Bedingungen für die jeweilige JSP Seite. • Unter anderen sie können: • Die JDK Klassen die in dem Dokument zur Verfügung sind bestimmen • Eine Datei zur Übersetzungszeit einfügen • Tagbibliotheken vereinbaren

  13. Standard Aktionen • Standard Aktionen liefern Funktionalität die in JSP Seiten oft nötig ist. Sie haben die Syntax von XML tags und u. a. • JavaBeans in der Seite integrieren, • Kontrolle anderen Seiten weiterleiten • Ausgaben anderer Seiten zur Anfragezeit einbetten

  14. Die Syntax wird in wesentlich so gegliedert:

  15. <%@page import="java.util.*" %> <HTML> <HEAD> <TITLE>JSP Example</TITLE> </HEAD> <BODY BGCOLOR="ffffcc"> <CENTER> <H2>Date and Time</H2> <% java.util.Date today = new java.util.Date(); If (today.getYear() + 1900 < 2004) {%><jsp:forward page="TooLate.jsp"><%} else out.println("Today's date is: "+today); %> </CENTER> </BODY> </HTML> Direktive Skript Standart Aktion Beispiel

  16. Expression Language • JSP2 bietet eine einfache Syntax, die Skripte ersetzen soll. Sie heißt „Expression Language“. Die folgenden Skripten können mit EL viel einfacher ausgedrückt werden. <someTags:aTag attribute="<%pageContext.getAttribute("aName") %>"> . <%= aCustomer.getAddress().getCountry() %> In EL das sieht so aus: <someTags:aTag attribute="${aName}"> . ${aCustomer.address.country}

  17. JavaBeans und JSP • Java Beans wird erfolgreich bei der Konstruktion grafischer Benutzeroberflasche eingesetzt. • Sie speichern die Geschäftslogik in „Code-Behind“ Klassen und können durch die folgenden JSP Standartaktionen manipuliert werden: <jsp:useBean..>, <jsp:setProperty..> ,<jsp:getProperty>

  18. JavaBeans und JSP • Die Verwendung dieser Komponenten in JSP bringt die folgende Vorteile: • Auslagerung von Java-Code und damit eine Bessere Aufteilung bei der Entwicklung von Anwendungen • Verwendung schon existierender Komponente • Bequemer Zugriff auf Daten aus HTML-Formularen • Temporäre Speicherung von Daten für die Dauer mehrer Anfragen

  19. Benutzerdefinierte Tags • Benutzerdefinierte Tags kapseln Funktionalität für Wiederverwendung. • Tags minimieren den Anteil Java-Code in JSP Seiten • Tags bieten stärkere Abstraktion als Java-Code • Tags sorgen durch Wiederverwendung für ein konsistentes Aussehen Ihrer Seiten.

  20. Benutzerdefinierte Tags • Tags werden durch Tag-Handlers definiert. Tag-Handlers sind Java Klassen, die die Funktionalität der Tags enthalten. • Tag-Handlers werden in Tag-Bibliotheken gespeichert. Tag-Bibliotheken sind in der Regel in der Form einer Jar-Datei. • Der Inhalt der Tag-Bibliotheken wird durch eine XML-Datei beschreibt. Die ist der Tag Library Descriptor(TLD).

  21. Benutzerdefinierte Tags • Benutzerdefinierte Tags u.a. können: • Attribute einsetzen. • einen Body haben. Den können sie verarbeiten oder einfach erzeugen. • Ineinander geschachtelt werden • Miteinander kommunizieren

  22. Beispiel: Definierung eines Tages Der Tag-Handler: import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; import java.io.IOException;  public class HelloTag extends SimpleTagSupport { public void doTag() throws JspException, IOException { getJspContext().getOut().write("This is my first tag!"); } } Der Eintrag im Tag Library Descriptor: <tag> <description>Prints this is my first tag</description> <name>hello</name> <tag-class>jsp2.examples.simpletag.HelloTag</tag-class> <body-content>empty</body-content> </tag>

  23. Die JSP Seite. Die taglib Direktive vereinbart die Tagbibliothek zu Benutzung. Ihrer Name und die URI vom TLD werden als Attribute eingegeben. <%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %> <HTML> <HEAD> <TITLE>Simple Tag Handler</TITLE> </HEAD> <BODY> <H2>Simple Tag Handler</H2> <P> <B>My first tag prints</B>: <mytag:hello/> </BODY> </HTML>

  24. Zusammenfassung • JSP2 hat das Ziel JSP Programmierung einfacher zu machen, und zwar sie ohne Kenntnisse von JAVA zu ermöglichen. • Eine saubere Trennung zwischen Design und Programmierung dynamischer Web-Seiten wird dafür verwirklicht.

  25. Referenzen: • Volker Turau, Krister Saleck. Java Server Pages und J2EE. dpunkt-Verlag, Heidelberg, 2001 • Stefan Wille. Go To Java Server Pages. Addison-Wesley Verlag, München, 2001 • http://java.sun.com/webservices/docs/1.3/tutorial/doc/JSPTags.html • http://java.sun.com/webservices/docs/1.3/tutorial/doc/JSPIntro.html • http://java.sun.com/developer/technicalArticles/javaserverpages/JSP20/

More Related