3 Schnelleinstieg in die Entwicklung mit JSF *
|
|
- Babette Esser
- vor 7 Jahren
- Abrufe
Transkript
1 25 3 Schnelleinstieg in die Entwicklung mit JSF * Die Entwicklung mit JSF stellt sich etwas anders dar, als die Entwicklung mit Servlets oder JSPs. JSF ist ein Framework basierend auf dem Model 2-Konzept. Die Entwicklung mit JSF ist weiter von der darunter liegenden Webtechnik entfernt, als Sie es von der Java-Webentwicklung mit Servlets und JSP-Seiten gewohnt sind. Obwohl die Verwendung von JSTL bereits eine Möglichkeit darstellt, bis zu einem gewissen Grad von den technischen Details einer Webapplikation zu abstrahieren, versucht JSF hier noch einen Schritt weiter zu gehen. Bei JSTL sind Sie es z. B. gewohnt, Tags zu verwenden, die hauptsächlich die Aufgabe haben, bestimmte Teile des XHTML zu rendern. Bei JSF verwendet man Komponenten, die zwar ähnlich einfach wie die Tags zu verwenden sind, jedoch noch mehr Möglichkeiten bieten, als Sie das von einfachen JSTL-Tags gewohnt sind. Ein weiterer Punkt ist, dass Sie bei einer einfachen Webarchitektur direkt auf die View (also die Servlets und JSP-Seiten, die das HTML rendern) zugreifen. Man spricht hierbei auch von Model 1-Webanwendungen. Im Gegensatz dazu wird bei JSF nicht direkt auf die View zugegriffen, sondern indirekt über ein sogenanntes Front- Controller-Servlet. Das heißt, der Benutzer ruft nicht direkt eine JSP-Seite auf, sondern zunächst das Front-Controller-Servlet, welches wiederum die JSP-Seite aufruft und das gerenderte XHTML an den Benutzer zurückgibt. Hierbei spricht man von Model 2-Webanwendungen. Diese Webanwendungen sind an das von der Fatclient-Entwicklung bekannte MVC-Pattern angelehnt ( Model View Controller). Da sich dieses Pattern jedoch nicht eins zu eins auf Webanwendungen anwenden lässt, spricht man hierbei manchmal auch vom MVC-2-Pattern. Die folgenden Kapitel erklären die wesentlichen Ansätze und grundlegenden Techniken von JSF:»Model 1-Webanwendungen«, S. 26»Model 2-Webanwendungen«, S. 28»Aufbau einer JSF-Webanwendung«, S. 31 Unterschiede zur Entwicklung ohne JSF
2 26 3 Schnelleinstieg in die Entwicklung mit JSF *»Einführung in JSF-Tags«, S. 34»Einführung in Value Bindings«, S. 37»Einführung in Managed Beans«, S. 39»JSF ist ein Model 2 Framework«, S Model 1-Webanwendungen * Bei Model 1-Webanwendungen greift der Client direkt auf die entsprechenden Views, also die JSP-Seiten und Servlets, die das XHTML generieren, zu. Die Ablaufsteuerung der Webanwendung von Seite zu Seite wird über eine direkte Verlinkung realisiert. Das heißt, dass 1.jsp beispielsweise einen Link rendert, der auf 2.jsp verweist. Dieser Ablauf wird in der Abb illustriert. Abb : Ablauf Model 1. Schritt 1 Der Client ruft die Seite 1.jsp auf. Diese Seite nutzt eine Instanz der Klasse Benutzer, um dort Daten zu hinterlegen. Um die Klasse Benutzer zu nutzen, instantiiert 1.jsp ein Objekt der Klasse und speichert dort Daten ab, die aus dem Request ermittelt wurden (»befüllen«).
3 3.1 Model 1-Webanwendungen * 27 Anschließend generiert die JSP-Seite ein entsprechendes XHTML-Dokument als Antwort und liefert dieses an den Client zurück. Dieses generierte XHTML enthält einen Link auf 2.jsp. Der Benutzer klickt diesen Link an (Schritt 2) und ruft 2.jsp Schritt 2 auf. Diese Seite nutzt ebenfalls das von 1.jsp erzeugte Objekt der Klasse Benutzer und generiert wiederum XHTML. Dieses XHTML wird anschließend an den Client zurückgelie- Schritt 3 fert. Üblicherweise besteht eine Model 1-Webapplikation (aus der Client-Sicht gesehen) ausschließlich aus JSP-Seiten bzw. Servlets. Das hat zur Folge, dass die JSP-Seiten und Servlets nicht nur als View, sondern auch als Controller genutzt werden. JSP-Seiten erfüllen hier also nicht nur die Aufgabe, XHTML zu rendern (als reine View), sondern rufen auch die Geschäftslogik auf, instantiieren die auf der Seite benötigten Beans und bestimmen, welche JSP-Seite als nächste angezeigt wird (Ablaufsteuerung). Bei den vorgenannten Aufgaben handelt es sich um Dinge, die üblicherweise von einem Controller erledigt werden. Die JSP-Seiten erledigen also auch folgende (Controller-) Aspekte: Applikations/Geschäftslogik Ablaufsteuerung Instantiieren/Befüllen der benutzten Beans Zwangsläufig entstehen dadurch bei zunehmender Größe der Applikation immer komplexere JSP-Seiten und Servlets, da keine strikte Trennung zwischen den einzelnen Aufgabengebieten besteht. Es besteht die Gefahr, den Überblick zu verlieren und eine schwer wartbare Anwendung zu erschaffen. Das bedeutet nicht, dass der Model 1-Ansatz grundsätzlich abzulehnen ist. Bei kleinen Anwendungen oder Prototypen, die nach der Präsentation verworfen werden, kann Model 1 ein effizientes Vorgehen ermöglichen. Bei größeren Anwendungen, die über einen längeren Zeitraum gewartet werden sollen, ist Model 1 eher unzureichend. Hier muss eine stärkere Trennung der einzelnen Aufgabengebiete erfolgen. Diese Problematik adressiert Model 2. Technischer Aufbau Einschränkungen Fazit
4 28 3 Schnelleinstieg in die Entwicklung mit JSF * 3.2 Model 2-Webanwendungen * Bei Model 2-Webanwendungen erfolgt der Zugriff des Clients nicht wie bei Model 1 direkt auf die JSP-Seiten oder Servlets, sondern immer auf den Front-Controller der Webanwendung. Üblicherweise greift der Client direkt auf eine JSP-Seite oder ein Servlet zu. Bei Model 2-Anwendungen gibt es hingegen eine zentrale Stelle, die stattdessen aufgerufen wird und den Aufruf an das Ziel-Servlet oder die Ziel-JSP-Seite weiterleitet. Diese zentrale Stelle, die der Client aufruft, ist meist ein Servlet. Wegen dieser Aufgabe innerhalb der Webanwendung wird es Front-Controller-Servlet genannt. Dieses Servlet generiert selbst in der Regel kein XHTML, sondern nutzt dazu andere JSP-Seiten innerhalb der Anwendung, auf die der Client keinen direkten Zugriff hat. Der Client merkt prinzipiell nichts von diesem Vorgehen. Die Abb stellt dar, wie dieselbe Anwendung, die bei Model 1 dargestellt wurde (siehe»model 1-Webanwendungen«,S.26),miteinerModel 2-Architektur funktioniert. Abb : Ablauf Model 2.
5 3.2 Model 2-Webanwendungen * 29 Vergleichen Sie diese Grafik mit der Abb Es ist klar zu erkennen, dass Aufgaben, die vorher von jeder JSP-Seite einzeln erledigt wurden, jetzt durch das Front-Controller- Servlet durchgeführt werden. In der Abb sieht man, dass der Benutzer nicht mehr direkt auf die JSP-Seiten zugreift. Stattdessen ruft er immer das Front-Controller-Servlet auf, das wiederum die JSP-Seiten nutzt. Beim ersten Aufruf nutzt das Front-Controller-Servlet die Seite 1.jsp und liefert das von der Seite erstellte XHTML zurück. Bei dem zweiten Aufruf wird (durch den Klick auf den Link) wieder das Front-Controller-Servlet aufgerufen, dieses Mal nutzt das Servlet jedoch 2.jsp und liefert das entsprechende XHTML zurück. Bei der Model 2-Webanwendung wird außerdem das Instantiieren und Befüllen der Bean-Objekte vom Front-Controller-Servlet übernommen, sodass dies nicht mehr in den Views implementiert werden muss. Durch die zentrale Rolle des Front-Controller-Servlets ist es einfach festzulegen, welche JSP-Seite wann aufgerufen werden soll (Ablaufsteuerung). Model 2 ist übrigens nicht darauf festgelegt, JSP-Seiten zu verwenden, um das XHTML zu generieren. Genauso gut wäre es möglich, eine andere Art von Dateienzuverwenden,diedenView beschreiben (beispielsweise XML-Dateien wie bei Facelets). Falls Sie sich schon einmal mit dem Thema Model 2-Webanwendungen beschäftigt haben, kann es sein, dass Ihnen die Abb , die noch einmal die generelle Funktionsweise von Model 2-Webanwendungen erläutert, bekannt vorkommt. Diese Abbildung verdeutlicht den gerade besprochenen Verlauf noch einmal etwas allgemeingültiger und nicht konkret auf ein Beispiel bezogen. Der Benutzer kommuniziert mit dem Front-Controller, er schickt also seine Requests direkt dorthin und erhält von ihm seine Responses. Der Front-Controller instantiiert und befüllt das Model. Anschließend ruft er seine JSP-Seiten auf, die das entsprechende XHTML generiert und dazu Zugriff auf die von dem Front- Controller instantiierten Beans hat. Vergleich mit Model 1 Kein direkter Zugriff auf JSP-Seiten Instantiieren und Befüllen durch Front- Controller Ablaufsteuerung Allgemeingültige Definition
6 30 3 Schnelleinstieg in die Entwicklung mit JSF * Abb : Ablauf Model 2 (generell). Fazit Der wichtigste Unterschied zur Model 1-Architektur ist die klare Abgrenzung der einzelnen Aufgabenbereiche. Dadurch lassen sich entsprechende Code-Teile leichter lokalisieren und es sinkt das Risiko, dass Sie einen unwartbaren»klops«entwickeln. Wenn man sich die letzten beiden Abbildungen ansieht, stellt man fest, dass viele Funktionen des Front-Controllers eher allgemeiner Natur sind und nur lose mit der Applikationslogik zusammenhängen. Deshalb ist es durchaus denkbar, einen universellen Front-Controller zu verwenden, der mittels einer Konfigurationsdatei an die speziellen Applikationsbedürfnisse angepasst werden kann. Diese Konfigurationsdatei enthält dann Informationen wie Navigationsabläufe (von welcher Seite wird auf welche andere verwiesen) oder Informationen über das zu instantiierende Model. Sie müssen solch einen allgemeingültigen Front-Controller nicht selbst entwickeln. Hier setzen Java- Webframeworks wie JSF an und liefern Ihnen einen allgemeinen Front-Controller (neben vielen weiteren Annehmlichkeiten).
7 3.3 Aufbau einer JSF-Webanwendung * Aufbau einer JSF-Webanwendung * JSF-Anwendungen unterscheiden sich in ihrem grundsätzlichen Aufbau etwas von den gewohnten Java-Webanwendungen. Zum Vergleich einer JSF-Webanwendung mit einer Standard- Java-Webanwendung sehen Sie in der Abb den grundsätzlichen Aufbau einer JSF-Webanwendung. Grundsätzlicher Aufbau Abb : Aufbau einer JSF-Webapplikation. Die Grafik unterscheidet sich etwas von einer Standard-Java-Webanwendung. Da es sich hierbei um eine Model 2-Webanwendung handelt, erfolgt der Zugriff ausschließlich auf das Faces Servlet und nicht mehr direkt auf die JSP-Seiten. Beim Faces Servlet handelt es sich um das zuvor erwähnte Front-Controller-Servlet (siehe»model 2-Webanwendungen«, S. 28). Dieses wird durch JSF bereitgestellt. Neben der web.xml, die von jeder Java-Webanwendung benötigt wird, gibt es eine weitere Konfigurationsdatei namens faces-config.xml. Benötigt wird diese von dem Faces Servlet. Zwar übernimmt das Faces Servlet nur allgemeine Aufgaben wie das Instantiieren der Model-Klassen und das Aufrufen der JSP-Seiten, jedoch ist es natürlich applikationsabhängig, wann welche JSP-Seiten aufgerufen und wann welche Klas- Vergleich
8 32 3 Schnelleinstieg in die Entwicklung mit JSF * sen instantiiert werden sollen. Genau diese Informationen liefert die faces-config.xml-datei. Beispiel Benutzer.java index.jsp Damit diese Unterschiede etwas greifbarer werden, lernen Sie im Folgenden die Webapplikation, welche bereits in den Ausführungen zu Servlet und JSP/JSTL vorgestellt wurde, nun als JSF-Applikation kennen. Model-Klasse: Facesconfig.xml package org.w3l.jsf; public class Benutzer { private String name; public String getname() { return name; } } public void setname(string name) { this.name = name; } JSP-Seite: <%@taglib prefix="f" uri=" <%@taglib prefix="h" uri=" <html> <body> <f:view> <h:form> <h:inputtext value="#{benutzer.name}"/> <h:commandbutton value="senden"/> </h:form> <h:outputtext value="#{benutzer.name}" rendered="#{benutzer.name!=null}" /> </f:view> </body> </html> Konfigurationsdatei: <faces-config version="1.2" xmlns=" xmlns:xsi=" xsi:schemalocation=" <managed-bean> <managed-bean-name>benutzer</managed-bean-name> <managed-bean-class> org.w3l.jsf.benutzer
9 3.3 Aufbau einer JSF-Webanwendung * 33 </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> </faces-config> Wenn Sie sich den Inhalt der JSP-Seite ansehen, stellen Sie fest, dass auch hier JSP-Tags und Expression Language verwendet werden. Es handelt sich jedoch nicht um dieselben Tags, wie sie in dem JSP/JSTL-Beispiel verwendet wurden, sondern um spezielle, JSF-spezifische Tags. Diese werden gleich erklärt. Die Syntax der Expression Language ist grundsätzlich gleich, unterscheidet sich nur insofern, dass die Ausdrücke bei JSF durch ein»#«eingeleitet werden, statt mit einem»$«. Die Faces-config.xml definiert ein Objekt vom Typ Benutzer (managed-bean-class), das unter dem Namen benutzer (managed-bean-name) zur Verfügung gestellt wird und so innerhalb der JSP-Seite verwendet werden kann. Die Abb verdeutlicht, welche Tags für welche Teile der Anwendung zuständig sind. Erläuterung Abb : Schematische Darstellung der JSF-Beispielapplikation. Die Abbildung zeigt die Anwendung, nachdem etwas eingegeben (»test«) und die»senden«-schaltfläche betätigt wurde. Der eingegebene Text wurde bereits unten ausge-
10 34 3 Schnelleinstieg in die Entwicklung mit JSF * geben. Die Abb zeigt einen Screenshot der Beispielapplikation. Abb : Screenshot der JSF-Beispielapplikation. Versuchen Sie, die Beispielanwendung lokal zu starten. 3.4 Einführung in JSF-Tags * Tags sind aus gewöhnlichen XHTML-Seiten bekannt. JSF- Tags sind komplexere Konstrukte, die dazu dienen, eine JSF-Seite aufzubauen. Es existieren einige JSF-Tags, die eine direkte visuelle Entsprechung haben. Dazu zählen die Tags inputtext, commandbutton und outputtext. Es gibt jedoch auch Tags,die über keine visuelle Entsprechung verfügen, z. B. die Tags view und form. Zunächst lernen Sie die visuellen Tags kennen. Beispiel index.jsp Im Folgenden wird sich auf das Beispiel aus dem Kapitel»Aufbau einer JSF-Webanwendung«, S. 31, bezogen, das hier nochmals wiederholt wird: JSP-Seite: <%@taglib prefix="f" uri=" <%@taglib prefix="h" uri=" <html> <body> <f:view> <h:form> <h:inputtext value="#{benutzer.name}"/> <h:commandbutton value="senden"/> </h:form> <h:outputtext value="#{benutzer.name}" rendered="#{benutzer.name!=null}" /> </f:view> </body> </html>
11 3.4 Einführung in JSF-Tags * 35 Mit dem inputtext-tag können Benutzereingaben entgegengenommen werden. Dieses Tag wird in Form eines Textfeldes ausgegeben. Das value-attribut bezeichnet, wo die Benutzereingabe gespeichert werden soll (dazu später mehr). Mit dem commandbutton-tag wird dem Benutzer eine Möglichkeit angeboten, seine eingegebenen Daten an den Server zu übermitteln und/oder auf dem Server eine Aktion auszuführen. Dieses Tag wird in Form einer Schaltfläche ausgegeben. Das value-attribut gibt an, welchen Text die Schaltfläche trägt. Mit dem outputtext-tag wird dem Benutzer ein Text angezeigt. Der auszugebende Text wird in dem value-attribut definiert. In dem Beispiel ist es der Text, den der Benutzer mit dem inputtext-tag übermittelt hat (dieser Tag benutzt denselben Wert als»value«wie der inputtext-tag). Das Attribut»rendered«gibt an, ob die Komponente gerendert wird, also ob das entsprechende XHTML produziert wird oder nicht. Hier wird sie nur gerendert, falls der Benutzer bereits einen Text eingegeben hat (das Value Binding also nicht null ist). Wie erwähnt gibt es Tags ohne visuelle Entsprechung, die dennoch notwendig sind und einen rein technischen Zweck erfüllen. Der form-tag entspricht dem, was Sie bereits aus XHTML als form-tag kennen. Um mit XHTML ein Formular, also Benutzereingaben, an den Server zu senden, benötigen Sie ein form-tag, das alle zu übermittelnden Formularelemente umgibt. Das JSF-Form-Tag entspricht diesem 1:1 und wird tatsächlich auch als XHTML-Form-Tag gerendert. Sie müssen auch dieses form-tag analog zum XHTML-Form-Tag um alle JSF-Tags legen, die eine Benutzereingabe übermitteln. Deshalb umschließt der Tag in dem Beispiel zwar das inputtext- Tag (welches Benutzereingaben übermittelt), jedoch nicht das outputtext-tag (welches ausschließlich Text ausgibt). Das view-tag hat einen ganz besonderen Status. Es wird auf jeder JSF-Seite benötigt und muss alle anderen JSF-Komponenten umschließen. Es hat in der Regel keine XHTML-Repräsentation, das heißt, es rendert überhaupt nichts. Der Grund dafür, dass dieses Tag dennoch benötigt wird, erfahren Sie später, da dies etwas detailliertere Kenntnisse des Frameworks verlangt. Zum jetzigen Zeitpunkt ist nur wichtig zu InputText-Tag CommandButton- Tag OutputText-Tag Form-Tag View-Tag
12 36 3 Schnelleinstieg in die Entwicklung mit JSF * Tag vs. Komponente wissen, dass dieses Tag auf jeder Seite benötigt wird und immer alle anderen JSF-Tags umschließen muss. Die verwendeten JSF-Tags wurden nur angerissen. Es gibt viele andere Attribute, die diese Tags anbieten. Vielleicht ist Ihnen aufgefallen, dass in den Beschreibungen der einzelnen Tags manchmal von Tag und manchmal von Komponente die Rede war. Bei einer typischen, reinen JSTL/JSP-Lösung spricht man ausschließlich von Tags. Bei JSF sind es jedoch nicht nur Tags, die verwendet werden. Der Tag ist vielmehr nur ein Bindeglied zwischen JSP-Seite und Komponente. Die Komponente liefert die eigentliche Funktionalität. Geht es also um die Komponente im Allgemeinen, also z. B. das Rendering der Komponente oder bestimmte Funktionsweisen, spricht man von einer Komponente. In der Abb ist der Aufbau einer JSF-Komponente illustriert. Vergleichen Sie diese Abbildung mit der des JSP-Tags (Abb ). Abb : Aufbau einer JSF-Komponente. Hier fungiert der JSP-Tag nur als eine Art Platzhalter für die eigentliche Komponente. Im Sinne der JSP kann man also noch von einem Tag sprechen. Im JSF-Kontext spricht man
13 3.5 Einführung in Value Bindings * 37 häufig aber von der dahinterliegenden Komponente, die hier auch das Rendern des XHTMLs übernimmt. In JSF werden die Tags also nur als Platzhalter in JSPs genutzt. Man spricht beispielsweise davon, einen Tag in die JSP-Seite einzufügen. Spricht man hingegen über das Rendern von XHTML, bezieht man sich in der Regel auf die Komponente. Verglichen mit einfachen Tags, die Sie von JSPs kennen, verfügen Komponenten über mehr Möglichkeiten. Sie werden später mehr über diese Möglichkeiten erfahren, die einen wichtigen Teil von JSF ausmachen. 3.5 Einführung in Value Bindings * Value Bindings ermöglichen über eine einfache Beschreibungssprache den Zugriff auf Objekte und deren Attribute aus JSF-Seiten heraus. Value Bindings sind Ausdrücke die Sie aus der Expression Language bereits kennen. Der Ausdruck #{benutzer.name} bezieht sich auf das Attribut name des Objektes benutzer, welches in einem beliebigen Scope liegen kann. BeiJSFsprichtmanhierbeivoneinemValue Binding. EinValue Binding unterscheidet sich etwas von einem Expression Language-Ausdruck, den Sie von der JSP-Technik kennen. Das Value Binding basiert aber ebenfalls auf der Expression Language. Ein Expression Language-Ausdruck ist bei JSP-Seiten eine Einbahnstraße: Er wird immer nur gelesen. Was auf der einen Seite eine Einschränkung ist, eröffnet auf der anderen Seite Möglichkeiten. Während man sich bei einem Ausdruck wie #{benutzer.name} vorstellen kann, ihn sowohl zu lesen als auch zu schreiben (also das Attribut name entweder zu lesen oder zu schreiben), ist das bei einem Ausdruck wie #{benutzer.name!=null} nicht möglich. Während das Lesen eines solchen Ausdrucks möglich ist, ist das Schreiben nicht möglich. Was sind Value Bindings? Eigenschaften der Expression Language
14 38 3 Schnelleinstieg in die Entwicklung mit JSF * Eigenschaften von Value Bindings Wozu werden Value Bindings genutzt? Ein Value Binding kann in beide Richtungen funktionieren. Bei einfachen Ausdrücken wie #{benutzer.name} kann geschrieben und gelesen werden, bei vergleichenden Ausdrücke wie #{benutzer.name!=null} kann nur gelesen werden. Value Bindings werden bei JSF unter anderem dazu genutzt, um Eingabekomponenten mit Objekten, beziehungsweise deren Attribute, zu verknüpfen. Ändert sich der Wert der Eingabekomponente (beispielsweise der Komponente h:inputtext), wird auch das Attribut des Value Bindings entsprechend geändert. Die Abb zeigt diesen Zusammenhang. Abb : Ablauf: Value Bindings. Schritt 1: Der Benutzer trägt etwas in die Eingabekomponente ein und übermittelt die Eingabe durch einen Klick auf die Schaltfläche. Schritt 2: JSF leitet die von dem Benutzer gemachten Eingaben an die Komponente weiter. Schritt 3: Die Komponente wertet diese Eingaben aus und wird Benutzereingaben als Wert des Value Bindings speichern. Durch dieses Vorgehen ist es nicht nötig, den vom Benutzer eingegebenen Wert selbst aus der Komponente auszulesen und in einem Objekt zu speichern.
15 3.6 Einführung in Managed Beans * 39 Dieses Prinzip funktioniert übrigens auch in der entgegengesetzten Richtung. Ändert sich das Attribut des Objektes, ändert sich auch der Wert der Komponente bei der Darstellung. Man kann hier also wirklich von einem Binding zu Deutsch Bindung sprechen. 3.6 Einführung in Managed Beans * Managed Beans sind Objekte, die von JSF automatisch instantiiert werden und dann in einem bestimmten Scope zur Verfügung stehen. Konfiguriert werden sie in der faces-config.xml, in der die Managed Bean-Klasse und der Scope festgelegt werden. JSF wird bei dem ersten Zugriff auf ein Objekt unter einem bestimmten Namen (z. B. benutzer) einobjektderentspre- chenden Klasse instantiieren und in einem Scope speichern. Voraussetzung hierfür ist, dass die zu instantiierende Klasse über einen public-konstruktor verfügt, der ohne Parameter aufgerufen werden kann. Es ist offensichtlich, dass JSF anhand eines Value Bindings wie #{benutzer.name} nicht wissen kann, von was für einem Typ das Objekt benutzer ist, also welche Klasse instantiiert werden muss oder in welchem Scope dieses Objekt gespeichert werden soll. Diese Informationen müssen zusätzlich hinterlegt werden. Dies geschieht in der faces-config.xml. Bei solchen Objekten, welche automatisch durch JSF instantiiert und in einem Scope gespeichert werden, spricht man von Managed Beans. Die Konfiguration erfolgt in der faces-config.xml daher auch im Managed Beans-Abschnitt. Hier werden alle nötigen Informationen über die jeweilige Managed Bean festgelegt. Hierzu zählt der Name, unter dem diese Managed Bean in Value Bindings und Expression Language Ausdrücken referenziert wird, genauso wie die Klasse, die instantiiert werden soll, und der Scope, inder das instantiierte Objekt gespeichert wird. Die Abb zeigt, wie der Ablauf aussieht, wenn eine Managed Bean das erste Mal in einem Value Binding referenziert wird. Einführung Was ist eine Managed Bean? Ablauf
16 40 3 Schnelleinstieg in die Entwicklung mit JSF * Abb : Ablauf Managed Bean. Der Ablauf stellt sich wie folgt dar: Schritt 1: Eine Komponente (hier inputtext) muss die Expression #{benutzer.name} auflösen. Dazu wird diese Komponente JSF benutzen und übermittelt die Expression an das Framework. Schritt 2: Im nächsten Schritt wird JSF versuchen, das Objekt, um das es hier geht (benutzer), in einem Scope zu finden. JSF wird alle drei Scopes (in der Reihenfolge: Request, Session, Application) nachdiesemobjektdurchsuchen. Da es sich hierbei um die erste Frage nach diesem Objekt handelt, findet JSF es nicht. Daraufhin wird es durch JSF instantiiert. Dazu benötigt JSF jedoch weitere Informationen über dieses Objekt. Zumindest muss klar sein, um welche Klasse es sich handelt, die instantiiert werden soll, und in welchem Scope das Objekt abgelegt werden soll.
17 3.6 Einführung in Managed Beans * 41 Schritt 3: Diese Informationen entnimmt JSF der facesconfig.xml. Schritt 4: Nachdem JSF die Informationen ermittelt hat, wird die Klasse instantiiert. Schritt 5: Dieses Objekt wird in dem entsprechenden Scope gespeichert. Schritt 6: Die Komponente erhält den gewünschten Wert benutzer.name. Der Vorgang wurde etwas vereinfacht dargestellt. Konkrete technische Details finden Sie späterin»derjsf-lebenszy- klus«, S. 183, und»jsf-erweiterungen«, S Eine faces-config.xml, dieeinemanaged Bean definiert, wird im Folgenden gezeigt. <faces-config version="1.2" xmlns=" xmlns:xsi=" xsi:schemalocation=" <managed-bean> <managed-bean-name>benutzer</managed-bean-name> <managed-bean-class> org.w3l.jsf.benutzer </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> </faces-config> Die Konfigurationsdatei ist vor dem bereits erklärten Hintergrund weitgehend selbsterklärend. Konfigurationsdatei facesconfig.xml Beispiel In einer faces-config.xml-datei können beliebig viele Managed Beans konfiguriert werden. Eine Managed Bean besteht üblicherweise mindestens aus folgenden Elementen: managed-bean-name: Legt fest, unter welchem Namen die Bean im Scope gespeichert und in Expressions referenziert wird. managed-bean-class: Legt fest, welchen Typ das neu erstellte Objekt haben soll. managed-bean-scope: Legt fest, in welchem Scope das Objekt (die Managed Bean) gespeichert werden soll.
18 42 3 Schnelleinstieg in die Entwicklung mit JSF * Front- Controller- Servlet Im Beispiel wird also bei dem Zugriff auf die Managed Bean benutzer die Klasse org.w3l.jsf.benutzer instantiiert und diese Instanz im Session Scope gespeichert. Auch hier gibt es noch eine Vielzahl an weiteren Konfigurationsmöglichkeiten, Sie finden diese später in»managed Properties«, S. 63, und»komplexe Managed Properties«, S JSF ist ein Model 2 Framework * JSF ist ein Model 2-Framework dies ist einfach an dem zentralen Front-Controller-Servlet zu erkennen, das bei JSF Faces-Servlet heißt. JSF funktioniert wie eine Model 2-Anwendung (siehe»model 2-Webanwendungen«, S. 28). Anstelle eines Front-Controller-Servlet gibt es bei JSF ein Faces-Servlet. Sämtliche Ein- und Ausgaben erfolgen bei JSF, wie für Model 2-Anwendungen im Allgemeinen üblich, über das Front-Controller-Servlet, hier Faces-Servlet genannt. Wenn Sie gleich im Anschluss die Webanwendung ausprobieren, werden Sie mit Ihrem Browser also nicht direkt auf die JSP-Seiten zugreifen, sondern nur indirekt über das Faces-Servlet. Dies ist unbedingt nötig und wird meist automatisch von Konfiguration der web.xml Ihrer Entwicklungsumgebung in der web.xml konfiguriert. Ohne das Einrichten des Faces-Servlets in der web.xml ist es nicht möglich, eine JSF-Seite zu nutzen. Vergleich mit Model 2 Die Abb zeigt eine modifizierte Model 2-Abbildung, welche den Ablauf einer JSF-Anwendung noch einmal schematisch darstellt. Hier ist deutlich zu erkennen, dass das Faces-Servlet eine sehr zentrale Rolle einnimmt. Die Abbildung zeigt deutlich, dass die Unterschiede zur Model 2-Abbildung nur marginal sind.
19 Abb : Ablauf der JSF-Beispielanwendung. 3.7 JSF ist ein Model 2 Framework * 43
20
Multimedia im Netz Wintersemester 2012/13
Multimedia im Netz Wintersemester 2012/13 Übung 10 Ludwig-Maximilians-Universität München Multimedia im Netz WS 2012/13 - Übung 10-1 Lösung zu Übungsblatt 08 Ludwig-Maximilians-Universität München Multimedia
MehrKomponentenorientierte Software-Entwicklung. Seite 1 / 42
Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object
MehrBenutzeroberflächen mit JSF 2.2
Benutzeroberflächen mit JSF 2.2 Studienarbeit zum FWP-Modul Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Nikola Topalovic, IB4C Agenda 1 Einführung 2 JSF 2.1 Grundlegendes 2.2 Softwareumgebung
MehrModel-View-Controller
Model-View-Controller Seminar Software-Entwurf Leif Singer Gliederung Einordnung Überblick & Geschichte Aufgabenverteilung & Beispiel Model View Controller Zusammenspiel Web Anwendungen
MehrFacelets. - der Durchbruch für JavaServer Faces?
Facelets - der Durchbruch für JavaServer Faces? Andy Bosch IT-Berater und Projektleiter Autor des JavaMagazins, JavaSpektrums und des ObjektSpektrums SENS-Experte, www.softwareexperts.de Betreiber von
MehrDabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.
Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der
MehrWebanwendungen mit Java und JavaServerPages
Webanwendungen mit Java und JavaServerPages ohne JS und ohne Framework Michael Dienert 24. Februar 2016 Inhaltsverzeichnis 1 model2 mit Netbeans und tomcat 1 1.1 Projekt anlegen.............................
MehrWeb-Anwendungen mit JavaServer Faces
Web-Anwendungen mit JavaServer Faces Seminarunterlage Version: 3.06 Version 3.06 vom 1. September 2016 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen
MehrBeuth Hochschule für Technik Berlin, FB VI Informatik und Medien Software Engineering (SE II), 2. Kapitel: Wir bauen uns eine Web-Applikation.
Kapitel WIR BAUEN UNS EINE WEB-APPLIKATION (DRITTER TEIL) 2.10 Eine Benutzungsoberfläche mit JSF (Dritte Fingerübung) Technische Voraussetzungen 2.11 Die generelle Struktur von JSF Navigation zwischen
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrEs wird das Struts <html:options> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.
Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder
MehrEine Untersuchung der Funktionen des Apache Wicket Webframeworks
Eine Untersuchung der Funktionen des Apache Wicket Webframeworks Seminararbeit von Olaf Matticzk 1 15.01.2016 (c) by synaix 2016 synaix...your business as a service. Agenda 1. Einleitung 2. Webanwendungen
MehrOWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes
OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen
MehrFunktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.
MehrProgrammierung von Client/Server- Anwendungen
Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,
MehrDB-Aspekte des E-Commerce Schwerpunkt: Techniken. Servlets und JavaServer Pages
Seminar DB-Aspekte des E-Commerce Schwerpunkt: Techniken Servlets und JavaServer Pages Boris Stumm Servlets und JavaServer Pages 1 Inhalt Einführung Technologie der Servlets und JavaServer Pages Umgebung
MehrD.18 D.20 D Java-Server-Pages. 4 Java-Server-Pages (2) 4.1 Auszeichnungen. 4.2 Deployment. Nachteil von Servlets
4 Java-Server-Pages Nachteil von Servlets Programmieraufwand für fast vollständig statische Web-Inhalte z.b. lediglich Page-Counter hinzuzufügen z.b. lediglich wenige benutzerspezifischen Teile anzupassen
MehrSven Haiges Marcel May. JavaServer Faces. Web Development mit dem Standardframework. entwickier.press
Sven Haiges Marcel May JavaServer Faces Web Development mit dem Standardframework entwickier.press Vorwort 1 Einführung in JavaServer Faces 1.1 Ein paar Zahlen und Hintergründe 1.2 Kompakt: Wesentliche
MehrServlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans
Projekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe 2008 - Java Server Pages und Servlets - 7. April 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität
MehrObjektorientierung. Marc Satkowski 20. November C# Kurs
Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrDesign Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1
Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1 Agenda! Allgemeines! Aufgabenverteilung! Alltagsbeispiel! Beurteilung! Konkretes
MehrWorkshop Java Webentwicklung Tapestry. Ulrich Stärk
Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird
MehrFortgeschrittene JSF- Techniken. Ralf Gitzel
Fortgeschrittene JSF- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Navigation Konvertierung von Eingabewerten Verifizierung von Eingabewerten
MehrVortrag. Thema: Apache Struts + Tiles
Vortrag Thema: Apache Struts + Tiles Mohamed Haji Julian Cordes Robin Röttger Web 2.0 WS 2014/2015 1 Inhalte 1. Einleitung 2. Grundlegendes mit Struts 3. Apache Tiles (mit Struts) 4. Praktikum 5. Diskussion
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrErste Schritte mit JavaServer Faces und MyEclipse. Allgemeines. Erstellen eines JavaServer Faces Projektes
Erste Schritte mit JavaServer Faces und MyEclipse Dieses Tutorial soll den Einstieg in das noch recht neue Framework, JavaServer Faces (JSF), erleichtern. Es wird Schritt für Schritt eine Beispiel-Anwendung
MehrProgrammiertechnik Klassenvariablen & Instantiierung
Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen
MehrHandbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
MehrPlay Framework, MySQL, JPA, HQL, HTML, jquery,
Play Framework, MySQL, JPA, HQL, HTML, jquery, Wer Mit wem Resultat 1.Kunde Schalter: Bibliothekarin Bestimmt,welcher Archivar die Zeitschrift holen geht 2. Schalter: Bibliothekarin Archivar Kontrollübergabe
MehrAPEX Datenverwaltung Wo sind die Daten gerade?
APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst Trivadis GmbH München Schlüsselworte: APEX, Sessionverwaltung, Dynamic Actions Einleitung Eine APEX-Anwendung wird erst durch zusätzliche
MehrV by WBR1/BFH-TI 2011 by MOU2/BFH-TI
Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und
MehrDatenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9d: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrJSP Übung. JEE Vorlesung Teil 7. Ralf Gitzel
JSP Übung JEE Vorlesung Teil 7 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Einführung: Aufgaben teilweise zusammengelegt Besprechung der Einzelaufgaben
MehrProgrammierung von Java- Webanwendungen. paluno
Programmierung von Java- Webanwendungen Gliederung 1 Vorstellung und Einführung 2 Basiswissen Web 3 XML und JSF- Einführung 4 JSF- Komponenten und RichFaces 5 Wiederholung der ersten Woche 6 JSF- Konzepte
MehrKomponenten & Hypermedia Seminar Prof. Dr. Frank Thiesing Struts Java-Framework für Web-Applikationen. Referenten: Fabian Bartelt Jens de Witt
Komponenten & Hypermedia Seminar Prof. Dr. Frank Thiesing Struts Java-Framework für Web-Applikationen Referenten: Fabian Bartelt Jens de Witt - Struts 1 Inhaltsverzeichnis Was ist Struts? Vorkenntnisse
MehrUnsere Webapplikation erweitern
Unsere Webapplikation erweitern Um mit Play zu arbeiten: 1. Starten Sie zunächst den MySQL-Server. Führen Sie dazu auf dem USB-Stick mysql_start.cmd aus. 2. Sie brauchen eine Windows-Kommandozeile: Starten
MehrJSP und Modell 1 MVC und Modell 2 Java Web Frameworks und Struts Java Server Faces
Modell 2 und JSF JSP und Modell 1 MVC und Modell 2 Java Web Frameworks und Struts Java Server Faces JSP ein mächtiges Werkzeug! Client JSP Bean Fachlogik JSP Eine JSP empfängt Benutzer-Anfragen, "Requests"
MehrACCESS. Berechnete Felder in Tabellen TABELLEN ENTWERFEN BERECHNETE FELDER IN TABELLEN BASICS
Berechnete Felder in Tabellen Berechnete Felder in Tabellen sind ein Feature, das mit der Version 2010 von Access hinzugekommen ist. Dabei handelt es sich um die Möglichkeit, die Inhalte der übrigen Felder
MehrEinführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel
Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2
MehrDatenverwaltung Darstellung Interaktion. WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Torsten Walter. 10.
Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen 10. Oktober 2005 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java Server Pages 3 Kataloge & Bestände Währungen & Geldbestände
MehrHauptseminar Informatik. Java Web Frameworks Alexander Löser
Hauptseminar Informatik Java Web Frameworks 14.06.2002 Alexander Löser Gliederung Frameworks Model View Controller Struts Turbine Barracuda Expresso Fazit Hauptseminar Informatik: Java-Web-Frameworks (Alexander
MehrÜbung 1: Object Inspector
Übung 1: Object Inspector Es ist ein System zu entwickeln, mit dem man Objektstrukturen bezüglich ihrer Properties analysieren und dann in einem Tree Viewer (JTree) anzeigen und bearbeiten kann. Properties
MehrJSP und Servlet Programmierung
Seminarunterlage Version: 5.02 Copyright Version 5.02 vom 1. März 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen
MehrJava - Webapplikationen
Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje
MehrDie Warenkorbfunktion (workbasket)
Beschreibung der Komponente zur integration eines Warenkorbs in die Anwendung Table of contents 1 Allgemein...2 2 Körbe speichern und laden...3 3 Aufgelöstes XML oder beliebige weitere Metadaten im Korb...
MehrAufbau von Klassen. class punkt {...
Einführung in C++ Aufbau von Klassen Eine wird mit dem Schlüsselwort class eingeleitet, und endet mit einem Semikolon. Der Inhalt wird zwischen geschweiften Klammern geschrieben. class punkt {... ; Im
Mehr01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion
01 Einführung in PHP Einführung in PHP 1/13 PHP in Aktion PHP ist eine Programmiersprache, die ganz verschiedene Dinge tun kann: von einem Browser gesendete Formularinhalte auswerten, angepasste Webinhalte
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
MehrWeb- Applikationen. in Java-Web
Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API
MehrGS-Office Mobile. Einrichtung & Konfiguration
GS-Office Mobile Einrichtung & Konfiguration Inhaltsverzeichnis 1. Willkommen bei Sage GS-Office Mobile... 3 1.1 Anmelden in der Service Welt... 5 2. Einrichten des Hauptbenutzers für Sage GS-Office Mobile...
MehrPraktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -
Praktikum Datenbanken und verteilte Systeme SS 2008 - Java Server Pages und Servlets - Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg Infrastruktur vsispoolx
MehrBenutzerhandbuch. Liquid-Preisvergleichsportale. Version
Benutzerhandbuch Liquid-Preisvergleichsportale Version 2016.2 Inhaltsverzeichnis 1 EINLEITUNG... 3 2 BESCHREIBUNG... 4 2.1 ARTIKEL... 4 2.2 BEZIEHUNGEN... 5 2.3 BEARBEITEN... 6 2.3.1 KONFIGURATION... 6
MehrKomponenten und Komponententypen
Komponenten und Komponententypen AUVESY GmbH Fichtenstraße 38B D-76829, Landau Deutschland Inhalt Komponenten und Komponententypen 3 Komponenten und Komponententypen verstehen 3 Neue Komponente erstellen
MehrJSF Basics. Ralf Gitzel
JSF Basics Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Konzepte von JSF Managed Beans Expression Language Grundlegende JSF Tags 3 Konzepte von JSF
MehrEinführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel
Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrVON MVC ZU MODEL-VIEW-VIEWMODEL
VON MVC ZU MODEL-VIEW-VIEWMODEL Wissenschaftliche Vertiefung von Lukas Jaeckle Studiengang Softwaretechnik und Medieninformatik Folie 1 von 18 Agenda 1. Architekturmuster 2. Architekturmuster für interaktive
MehrCreational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.
Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational
MehrRückgabewerte von Methoden
OOP Rückgabewerte von Methoden Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Rückgabewerte von Methoden...2 3 Der freundliche Computer...2 3.1
MehrFWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen
FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Sommersemester 2018 Michael Theis, Lehrbeauftragter 2 Servlet API Websockets JSF JAX-WS JAX-RS JMS JAXB JSON-P JEE Enterprise Application
MehrAgenda. Einleitung. Einbinden von JSF AJAX Beispiele Komponenten Entwicklung PrimeFaces Praktikum. Was ist JSF Aufbau und Techniken HTML vs.
JavaServer Faces E-Commerce (WS 2011/12) Fachhochschule Münster FB02 Elektrotechnik und Informatik Referenten: Matthias Wellmeyer, Sven Wermers, Malte Wesker Agenda Einleitung Was ist JSF Aufbau und Techniken
MehrAbschnitt 20: Ein Grundprinzip der Software-Architektur
Abschnitt 20: Ein Grundprinzip der Software-Architektur 20. Ein Grundprinzip der Software-Architektur 20 Ein Grundprinzip der Software-Architektur Einf. Progr. (WS 08/09) 770 Modelle und Anwendungen Unsere
MehrPolymorphie und UML Klassendiagramme
Polymorphie und UML Klassendiagramme Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Vererbung hat einen sehr interessanten und effektiven Effekt: die Polymorphie. Darum geht es in dieser Veranstaltung. 2
Mehr(Ausnahmebehandlung)
16. Exceptions (Ausnahmebehandlung) 16-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 16: Exceptions (Ausnahmebehandlung) Motivation Throw und Catch 16. Exceptions (Ausnahmebehandlung) 16-2
MehrJSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de
JSP Grundlagen JEE Vorlesung Teil 5 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept Model-View-Controller mit JSPs JSP Expression Language EL Literale
MehrWebentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo
Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrBegriffe 1 (Wiederholung)
Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.
MehrWEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?
WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)
MehrKlausur Software Engineering 2 WNB SS 2008
Klausur Software Engineering 2 WNB 3 07.07.08 SS 2008 Name, Vorname Matrikelnummer Punktzahl 1. Erläutern Sie, wo sich die Komponenten des MVC-Patterns in der Model-1- Architecture von SUN wieder finden.
MehrErstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java
Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
MehrKurs 1794 Methodische Entwicklung von Benutzungsschnittstellen für Webapplikationen
Kurs 1794 Methodische Entwicklung von Benutzungsschnittstellen für Webapplikationen Aufgabe 1 (2 +20 = 4 Punkte) a) (2 Punkte) Pro Servlet-Klasse wird vom Servlet-Container zur Laufzeit nur eine Instanz
Mehr3. Klassen Statische Komponenten einer Klasse. Klassenvariablen
Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.
MehrWeb-Design mit JSF und AJAX. Java Enterprise Erkner, 6.1.2007 Carsten Mjartan (mjartan@codecentric.de)
Web-Design mit JSF und AJAX Java Enterprise Erkner, 6.1.2007 Carsten Mjartan (mjartan@codecentric.de) 0 Agenda Ajax als Web 2.0 Technologie Java-Server Faces 1 Java Server Faces Sun-Spezifikation (JSR-127)
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrContentmanagement. Dipl.- Inf. Benjamin Bock Topic Maps Lab, Universität Leipzig leipzig.de. Schlüsselqualifika6on 10
Schlüsselqualifika6on 10 Contentmanagement Dipl.- Inf. Benjamin Bock Topic Maps Lab, Universität Leipzig bock@informa6k.uni- leipzig.de Nächster Termin Nächste Woche (2010-06- 02) ist keine Veranstaltung.
MehrJSP Direktiven. Präprozessor-Anweisungen, die in die JSP-Datei eingebettet sind und vor dem eigentlichen Übersetzungsvorgang ausgeführt JSP
JSP Direktiven Präprozessor-Anweisungen, die in die JSP-Datei eingebettet sind und vor dem eigentlichen Übersetzungsvorgang ausgeführt werden JSP Vorverarbeitung JSP* entfernt / ersetzt Direktiven sammelt
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrModell 2 und JSF. JSP und Modell 1 MVC und Modell 2 Java Web Frameworks und Struts Java Server Faces
Modell 2 und JSF JSP und Modell 1 MVC und Modell 2 Java Web Frameworks und Struts Java Server Faces JSP ein mächtiges Werkzeug! Client JSP Bean Fachlogik JSP Eine JSP empfängt Benutzer-Anfragen, "Requests"
Mehr1 Modellierung einer Uhr
PNS Wahlpflichtfach Informatik Projekt: Uhrzeit Seite 1 1 Modellierung einer Uhr Aufgabe: Es soll ein Modell für eine Digitaluhr erstellt werden, die Stunden und Minuten im Format hh:mm repräsentiert.
MehrAnnotation based presentation models for view rendering and data binding with Linkki and Vaadin
Annotation based presentation models for view rendering and data binding with Linkki and Vaadin jan.ortmann@faktorzehn.de 20.02.2017 Faktor-IPM - Architektur 1 Annotation based presentation models for
MehrAI WEBLAUNCHER. Installation und Betrieb
AI WEBLAUNCHER Installation und Betrieb Version: 1.0.3 Projekt: AI WEBLAUNCHER Datum: 2. April 2019 Dokumentinformation: Erstellt von: E-Mail: Administration Intelligence AG produktmanagement@ai-ag.de
MehrÜberschreiben von Methoden
Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra
MehrAuf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt.
432 433 434 435 Auf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt. 436 437 438 439 440 441 442 443 Die verkürzte
MehrTrainingsmanagement Gutschein Management. Beschreibung
Trainingsmanagement Beschreibung www.dastm.de info@dastm.de 1. Einführung... 2 2. Gutschein Funktionen... 3 2.1. Gutschein Menü... 3 2.2. Gutscheine anlegen... 4 Gutschein Kassenwirksam erfassen... 6 Gutschein
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrJavaServer Faces Ein Arbeitsbuch für die Praxis
Bernd Müller JavaServer Faces Ein Arbeitsbuch für die Praxis HANSER Inhaltsverzeichnis Vorwort XI 1 Einleitung 1 1.1 Das Ziel dieses Buches 1 1.2 Der Leser 3 1.3 Das Buch im Netz 4 1.4. Verwendete Software
Mehr