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.