JSF vs. JSP
JavaServer Faces (auch als JSF bezeichnet) ist ein Webanwendungs-Framework, das auf Java basiert. Das Hauptziel ist die Vereinfachung der Entwicklungsintegration von webbasierten Benutzeroberflächen. Es handelt sich um einen anforderungsgesteuerten Model View Controller (oder JVM). Diese spezielle JVM basiert auf einem komponentengesteuerten UI-Designmodell, das XML-View-Vorlagen oder Facelet-Ansichten verwendet. Anforderungen, die über die JSF laufen, werden vom FacesServlet verarbeitet. Diese Komponente lädt die erforderliche Ansichtsvorlage, erstellt eine Komponentenstruktur, verarbeitet Ereignisse und gibt die Antwort wieder, die normalerweise in HTML vorliegt.
JavaServer Pages (auch als JSP bezeichnet) ist eine Java-basierte Technologie, die speziell dazu verwendet wird, Softwareentwicklern bei der Erstellung dynamisch generierter Webseiten (wie HTML und XML) sowie anderer Dokumenttypen zu helfen, die für die Entwicklung von interaktiven Webinhalten relevant sind. Es wurde speziell entwickelt, um der Skepsis zu begegnen, die die meisten Webentwickler hinsichtlich der Fähigkeit der Java-Plattform hatten, den Entwicklern ausreichend Unterstützung für das Web zu bieten.
Zu den Kernfunktionen der JSF gehören Managed Beans, ein Abhängigkeitseinspritzsystem; ein vorlagenbasiertes Komponentensystem, das zur schnellen Komponentenzusammensetzung verwendet wird; und zwei XML-basierte Tag-Bibliotheken, die zum Ausdrücken einer JSF-Schnittstelle innerhalb einer Ansichtsvorlage verwendet werden.
JSP ist in jeder Hinsicht ein ausgereiftes Java-Servlet. JSPs werden in den Server und von der Java EE-Webanwendung geladen, als WAR- oder .ear-Dateiarchive betrieben und gepackt. Java-Code und bestimmte vordefinierte Aktionen ermöglichen die Kommunikation mit statischen Web-Markup-Inhalten. Die aus dieser Interaktion resultierende Seite wird auf diesem bestimmten Server kompiliert und ausgeführt und als HTML- oder XML-Dokument angezeigt. Es besteht aus zwei sehr spezifischen Syntaxstilen: Scriptlet und Markup. Ein Scriptlet besteht einfach aus Java-Code-Blöcken, die mit Markup, dem Standard-HTML oder XML, gemischt werden. JSP-Seiten müssen zu Java-Bytecode-Klassen kompiliert werden, um ausgeführt werden zu können. Diese Kompilierung findet jedoch nur einmal statt, wenn die Quell-JSP-Datei geändert wird. Dies ist darauf zurückzuführen, dass Java eine kompilierte Sprache und keine Skriptsprache ist. Der Code muss also im Wesentlichen übersetzt werden, damit die JSP mit dem Server kompatibel ist.
Zusammenfassung:
1. JSF ist eine Webanwendung, mit der die Integration von webbasierten Benutzeroberflächen in die Entwicklung vereinfacht wird. JSP ist eine Java-basierte Technologie, die speziell dazu dient, Softwareentwicklern bei der Erstellung dynamischer Webseiten zu helfen.
2. JSF enthält mehrere Kernfunktionen, darunter Managed Beans, ein auf Vorlagen basierendes Komponentensystem und zwei XML-basierte Tag-Bibliotheken. JSP muss in Java-Bytecode kompiliert sein, um ordnungsgemäß zu funktionieren.