Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher."—  Präsentation transkript:

1 1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher

2 2 Sg 3 – JSP - Java Server Pages Einführung Direkte Einbindung in Html-Code: Ausgabe über Direkte Ausgabe über: Mischen von Jsp und HTML: Ein Test … Jsp Deklarationen:

3 3 Sg 3 – JSP - Java Server Pages Einführung Import von packages/classes: Vererbung: Einbinden von Dateien: HTML oder Jsp Forwarding:

4 4 Sg 3 – JSP - Java Server Pages Sessions Starten/Weiterführen einer Session: Werte einfügen und holen: HttpSession session = request.getSession(true); session.putValue("WarenName", Ware w); Ware w = (Ware) session.getValue("WarenName"); session.removeValue("WarenName") String[] getValueNames() liefert ein Array mit den Namen aller Werte

5 5 Sg 3 – JSP - Java Server Pages JavaBeans Anforderung an eine Bean-Klasse: –Leerer Konstruktor (ohne Argumente) –Keine public-Variablen –Persistente Werte über: getXxx/setXxx bzw. isXxx/setXxx Methoden Anlegen bzw. benutzen eines Beans: <jsp:useBean id="einkaufswagen" class="EinkaufswagenBean" scope="page"/> Attributszugriff: Scopes: page, session, request, application

6 6 Sg 3 – JSP - Java Server Pages Beispiel Bean-Klasse public class EinkaufswagenBean { private Waren [] warenKorb; private int anzahlWaren; public EinkaufsWagenBean() {} public inWarenKorbLegen(Ware w) {...} public int getAnzahlWaren { return anzahlWaren; }

7 7 Sg 3 – JSP - Java Server Pages Individuelle Jsp-Tags ähnlich den Beans – nur mit mehr Eigenleben können Jsp-inhalt verändern mehr Aufwand zum Einrichten als Beans Bestehen aus: –Tag Handler Klasse –Tag Library Descriptor File –Jsp Datei Begriffe: [ body ]

8 8 Sg 3 – JSP - Java Server Pages Tag Handler Klasse: ExampleTag.java package taghandler; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; import java.io.*; public class ExampleTag extends TagSupport { protected testString = "Das ist ein Test"; public int doStartTag() { try { JspWriter out = pageContext.getOut(); out.print(testString); } catch(IOException ioe) { System.out.println("Error in ExampleTag: " + ioe); } return(SKIP_BODY); }

9 9 Sg 3 – JSP - Java Server Pages Tag Library Descriptor File <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> 1.0 1.1 test A tag library from Core Servlets example taghandler.ExampleTag inserts one line of output EMPTY

10 10 Sg 3 – JSP - Java Server Pages Verwendung im Jsp-File Liefert als Ergebnis: "Das ist ein Test!"

11 11 Sg 3 – JSP - Java Server Pages Attribute in individuellen Tags: ExtendedTag.java public class ExtendedTag extends ExampleTag { public void setText(String text) { testString = text; } Attribute mit dem Namen xxx, benötigen eine Methode mit dem Name setXxx, der Methodenparameter ist immer String

12 12 Sg 3 – JSP - Java Server Pages Tag Library Descriptor File example taghandler.ExampleTag inserts one line of output EMPTY text false

13 13 Sg 3 – JSP - Java Server Pages Verwendung im Jsp-File, Ausgabe: 1234, Hallo, Das ist ein Test

14 14 Sg 3 – JSP - Java Server Pages Verwenden des "body" public class HeadingTag extends TagSupport { private String bgColor="white"; public void setBgColor(String bgColor) { this.bgColor = bgColor; } public int doStartTag() { JspWriter out = pageContext.getOut(); out.print(" "); return(EVAL_BODY_INCLUDE); // body einfügen } public int doEndTag() { JspWriter out = pageContext.getOut(); out.print(" "); return(EVAL_PAGE); //mit seite fortfahren }

15 15 Sg 3 – JSP - Java Server Pages Tag Library Descriptor File example taghandler.ExampleTag JSP bgColor false Vorher: statt JSP "EMPTY"

16 16 Sg 3 – JSP - Java Server Pages Verwendung im Jsp-File Test1 Test2 Test3 Liefert 3 Tabellen mit Test1, Test2, Test3

17 17 Sg 3 – JSP - Java Server Pages Ändern des Body tags in individuellen Tags Methode: doAfterBody(); überschreiben Body b = getBodyContent(); liefert Body-Objekt b.getString(); body-Text als String Diesen kann man dann zB parsen und mit: JspWriter out = b.getEnclosingWriter(); out.print(parsedString);

18 18 Sg 3 – JSP - Java Server Pages Request Informationen Aufruf mit " request. " String getParameter(String name) liefert den Wert für die Variable "name" String[] getParameterValues() liefert ein Array aller Werte String getRequestUri() liefert den Url (nach host und port) Cookie[] getCookies() liefert ein Array aller Cookie-Objekte, Methoden: –getName/setName (String name) –getValue/setValue (String val) –getMaxAge/setMaxAge (int i) –response.addCookie(Cookie c)

19 19 Sg 3 – JSP - Java Server Pages Serialisierung default: true Beispiel: 0) { einkaufswagen.put(Ware w) lager.setLagerBestand(lagerBestand-1); } else out.println("Ausverkauft"); } %>


Herunterladen ppt "1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher."

Ähnliche Präsentationen


Google-Anzeigen