TechDocs


   Rubrik > Software Entwicklung > Spring >


    09.09.2011 16:05:29  Software Entwicklung > Spring    

Java Server Faces - Spring Integration, JSF-Spring

Die Kombination von Java Server Faces (JSF) zur Gestaltung von Web-Oberflächen und dem Spring Framework für die Geschäftslogik/Datenbankanbindung ist interessant und führt zu einer klaren Trennung der Zuständigkeiten.

Im folgenden einige Eigenschaften die für den gemeinsamen Einsatz der beiden Frameworks sprechen.

Java Server Faces

  • Standardisierung
    JSF ist der Versuch einen Standard für Web-Benutzeroberflächen zu schaffen. Bisher gibt es keinen solchen Standard. JSF gehört als komponentenbasiertes Web-Framwork zu den Webtechnologien der Java Platform Enterprise Edition.
  • Komponentenorientierung
    Nur wenige der aktuell verfügbaren Web-Frameworks arbeiten nach dem Konzept der wiederverwenbaren GUI-Komponenten. Ziel ist es, JSF zur Gestaltung für Web-Oberflächen auf den gleichen Rang zu heben wie ihn Swing bereits heute schon für die Gestaltung von traditionelle Benutzeroberflächen eingenommen hat.
  • Werkzeugunterstützung
    JSF besitzt gut dokumentierte Schnittstellen und lässt sich einfach in bestehende GUI-Build-Werkzeuge integrieren.

Spring

  • konsistente Architektur und Konfiguration
  • einfache, mächtige Architektur
  • portable zwischen verschiedenen Anwendungsservern
  • gute Datenbankanbindung für Persistenz-Frameworks
  • unterstützt das Testen, Wiederverwendbarkeit und lose Kopplung
  • setzt AOP und IoC Design Pattern um

Ein Beispiel für die Zusammenarbeit der beiden Frameworks

JSF-Spring example

Es wird eine JSF Implementation z.Bsp. von Sun oder Apache Myfaces benötigt. Die jar-Dateien, hier die der Apache MyFaces Installation, werden in dem WEB-INF/lib Verzeichnis abgelegt.

  • myfaces-api.jar
  • myfaces-impl.jar
  • jstl.jar
  • commons-logging.jar
  • commons-lang.jar
  • commons-el.jar
  • commons-digester.jar
  • commons-collections.jar
  • commons-codec.jar
  • commons-beanutils.jar


Die JSF Seite wird über die Adresse "http://<domain>/faces.jsf" im Browser aufgerufen und gibt das Ergebnis von 'getAdminUserName' sowohl für die Spring- als auch für die JSF-managed Bean aus.
faces.jsp
Die MyFaces-Konfigurationsdatei macht den Spring DelegatingVariableResolver in JSF bekannt. Zusätzlich wird noch eine von JSF verwaltete 'managed-bean' Bean Variable 'userMgmtBean2' erzeugt.
faces-config.xml 
Ein Domain-Objekt 'userMgmtBean1' von Spring erzeugen und verwalten lassen
/WEB-INF/applicationContext.xml Ausschnitt
web.xml-Datei Ausschnitt
Backing Bean Definition (Domain Objekt):

Verwandte Themen:
  => JSF - mehrsprachig, Localized Message Bundles
  => Managed Bean Deklaration, Lebensdauer, Gültigkeitsbereich
  => Hibernate - Spring Integration



Übersicht