JSF - Architektur
Die JSF-Technologie ist ein Framework zum Entwickeln, Erstellen serverseitiger Benutzeroberflächenkomponenten und deren Verwendung in einer Webanwendung. Die JSF-Technologie basiert auf der MVC-Architektur (Model View Controller) zur Trennung von Logik und Präsentation.
Was ist MVC Design Pattern?
MVC-Entwurfsmuster entwirft eine Anwendung mit drei separaten Modulen -
S.No. | Modul & Beschreibung |
---|---|
1 | Model Trägt Daten und Login |
2 | View Zeigt die Benutzeroberfläche an |
3 | Controller Erledigt die Bearbeitung eines Antrags. |
Der Zweck des MVC-Entwurfsmusters besteht darin, Modell und Präsentation zu trennen, damit Entwickler sich auf ihre Kernkompetenzen konzentrieren und klarer zusammenarbeiten können.
Webdesigner müssen sich nur auf die Ansichtsebene konzentrieren und nicht auf die Modell- und Controller-Ebene. Entwickler können den Code für das Modell ändern und müssen normalerweise die Ansichtsebene nicht ändern. Controller werden zum Verarbeiten von Benutzeraktionen verwendet. In diesem Prozess können das Ebenenmodell und die Ansichten geändert werden.
JSF-Architektur
Die JSF-Anwendung ähnelt jeder anderen auf Java-Technologie basierenden Webanwendung. Es wird in einem Java-Servlet-Container ausgeführt und enthält -
JavaBeans-Komponenten als Modelle mit anwendungsspezifischen Funktionen und Daten
Eine benutzerdefinierte Tag-Bibliothek zur Darstellung von Ereignishandlern und Validatoren
Eine benutzerdefinierte Tag-Bibliothek zum Rendern von UI-Komponenten
UI-Komponenten, die als statusbehaftete Objekte auf dem Server dargestellt werden
Serverseitige Hilfsklassen
Validatoren, Ereignishandler und Navigationshandler
Anwendungskonfigurationsressourcendatei zum Konfigurieren von Anwendungsressourcen
Es gibt Controller, mit denen Benutzeraktionen ausgeführt werden können. Die Benutzeroberfläche kann von Webseitenautoren erstellt werden, und die Geschäftslogik kann von verwalteten Beans verwendet werden.
JSF bietet verschiedene Mechanismen zum Rendern einer einzelnen Komponente. Es ist Sache des Webseiten-Designers, die gewünschte Darstellung auszuwählen, und der Anwendungsentwickler muss nicht wissen, welcher Mechanismus zum Rendern einer JSF-UI-Komponente verwendet wurde.