JSP, JSF und Servlet - wo ist der Unterschied?

Status
Nicht offen für weitere Antworten.

Erddrache

Mitglied
Moin...

Eine Frage: wo liegt der Unterschied zwischen Java Server Faces und Servlets (JSP mal ausgeklammert)??? Ist das das gleiche??? Ja, oda??? Bzw Servlets sind ne Spezialform von JSF's??? Ich find da keine Abgrenzung.
Danke und Gruß
 

Leroy42

Top Contributor
Mich wundert's daß noch niemand geantwortet hat. ???:L

Ich selbst kenne nur JSPs und Servlets (wobei eine JSP intern auch nur in
ein Servlet umgewandelt wird). Soweit ich weiß, sind JSFs eine Ergänzung zu
JSPs.

Ansonsten schau mal unter einer der Links von Wikepedia.
Google: wiki jsf

Im übrigen bist du im falschen Teilforum: in Enterprise Java ist deine Frage besser aufgehoben
 

HLX

Top Contributor
Der Web-Container oder Applicationserver arbeitet grundsätzlich mit Servlets. Beim Ansprechen eines Servlets erledigt er erst etwas Verwaltungskram, baut dabei u.a. die HTTP-Nachricht in Objekte um, z.B. vom Typ HTTPServletRequest oder HTTPServletResponse und ruft letztlich die Service-Methode im Servlet auf, das angesprochen wurde. Im Servlet erfolgt dann deine persönliche weiterverarbeitung. Darstellungselemente in HTML müssen hart codiert als Strings eingefügt werden. Das Ganze ist für den Entwickler relativ unübersichtlich und nebenbei für einen überwiegend HTML-Entwickelnden kein glücklicher Zustand, weil viel Java und wenn HTML dann irgendwie mittendrin in Form von Strings.

Also hat man JSP erfunden. Hier werden Java-Elemente in "HTML-Seiten (mit JSP-Dateiendung)" eingebettet. Diese Form ist wesentlich übersichtlicher. Der Web-Container compiliert die JSP-Seite anschließend selbst zu einem Servlet. Daher reicht bei JSP i.d.R. auch kein JRE zur Ausführung aus sondern zum Compilieren muss ein JDK zur Verfügung gestellt werden.

Nun kann auch in HTML eingebettetes Java unübersichtlich werden. Außerdem wünscht man sich eigentlich eine Trennung von Darstellung und Programmlogik. Hier hilft dann JSF weiter. Ziel: sämtlicher Code verschwindet aus der JSP-Seite - alles wird mittels Tags realisiert. JSF ist ein Framework zur webbasierten GUI-Erstellung von SUN.
 

Leroy42

Top Contributor
@HLX

Das ist mal eine kurze und verständlich Erklärung. :D

Warum erweiterst du nicht den Wikipedia-Artikel um diese Übersicht? :cool:
 

Ralf Ueberfuhr

Bekanntes Mitglied
Ich muss HLX aber bremsen. Um sämtlichen Java-Code aus der JSP auszulagern, reicht es, die JSP 2.0-Spezifikation zu verwenden, incl. JSTL und Custom Tags.

JSF ist mit einem ganz anderen Ziel verknüpft, nämlich dem Entwickler das von Desktop-Anwendungen bekannte ereignisgesteuerte Paradigma zu ermöglichen, d.h. es gibt nicht mehr Request und Response, sondern (sinngemäß) die Ereignisse Button-Klick etc. Außerdem übernimmt das Framework auch die Anbindung der Beans an Formularfelder.

JSF ist sehr jung und hat noch Kinderkrankheiten, aber eigentlich ist es eine Art Metamodell, welches bestimmte Oberflächenkomponenten bereit stellt, die dann durch einen Renderer in eine entsprechende Ausgabeform (z.B. HTML) gerendert werden. Leider kann ich es mir bislang nur mit HTML vorstellen, da HTML- und JSF-Tags vermischt sind, aber gedacht sind auch Render-Möglichkeiten wie Flash, Java-Programme uswusf.
 

HLX

Top Contributor
Schon korrekt. Auch hier wollte ich "bewusst" nicht zu weit ausholen. JSP ist natürlich mittlerweile soweit weiterentwickelt worden, dass man auch hier über die JSTL viel Code auslagern kann. Selbstdefinierte Tags sind bei JSP allerdings nur dann sinnvoll, wenn ich diese mehrfach verwenden kann. Wer für 2 Zeilen einmaligen Code ein Tag definiert ist selbst schuld. JSF liefert hingegen u.a. Tags, die Lücken in der JSTL schließen.

Ziel bei JSF ist natürlich nicht alleine die Trennung Darstellung/Code. Diese wird durch JSF jedoch stark vereinfacht und die sinngemäße Trennung von Darstellung und Code besser verwirklicht. Ich persönlich finde das Verwenden des reinen JSP aufwändiger, unübersichtlicher und fehleranfälliger als JSF.

Im Gegenzug ist JSF bei winzigen Webanwendungen vollkommen übertrieben. Ich finde daher sollte schon eine gewissen komplexität bestehen, wenn man sich ein dickes Framework ans Bein binden will.
 

Leroy42

Top Contributor
HLX hat gesagt.:
...wenn man sich ein dickes Framework ans Bein binden will.

Ahh! Jetzt weiß ich endlich warum ich mich mit JSF noch nicht beschäftigt habe. :)

[schild=6 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]1:0 für das Bauchgefühl![/schild]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Unterschied zwischen JSP & Servlet gegenüber REST mittels JAX-RS Allgemeines EE 1
B unterschied servlet und bean Allgemeines EE 2
M Unterschied zwischen Servlet und Bean/EJB Allgemeines EE 2
G Jakarta Servlet API 5.0 Allgemeines EE 1
pkm Frage wegen AJAX-Zugriff auf ein Servlet Allgemeines EE 1
Dimax Servlet Servlet Kommunikation Allgemeines EE 18
Dimax Servlet läuft in Eclipse, aber nicht im Browser Allgemeines EE 74
M URL Servlet Request getParameter Allgemeines EE 2
M Servlet Methoden Aufruf im Servlet Allgemeines EE 10
J 404 Not found (Servlet) Allgemeines EE 1
J Asynchrones Servlet löst NullPointerException aus Allgemeines EE 5
E Servlet Servlet das richtige? Allgemeines EE 11
B HTTP-Header-Inspektor-Servlet Allgemeines EE 1
N JSP Servlet mit JSP ansprechen Allgemeines EE 2
F Mehrere Bilder aus MySQL DB via Servlet darstellen. Allgemeines EE 1
J FTP und Servlet Allgemeines EE 11
H Post an Servlet Allgemeines EE 2
A Binärdatei vom Servlet erzeugen lassen Allgemeines EE 3
S Servlet Authentication Filter Allgemeines EE 0
S LDAP JAAS oder Servlet Allgemeines EE 0
G Problem: Servlet in JSP einbinden mit <jsp:include> Allgemeines EE 3
F eigene Anwendung per Servlet Container starten Allgemeines EE 9
F Servlet Daten im Speicher ablegen Allgemeines EE 3
L Servlet ClassNotFoundException Servlet Allgemeines EE 3
G Allgemeine Frage zu Authentifizierung mittels Servlet API Allgemeines EE 2
J Servlet "package does not exist" Allgemeines EE 5
K Servlet-Mapping Allgemeines EE 9
0 Servlet mit ArrayList Allgemeines EE 3
E Servlet unter mehreren Adressen Allgemeines EE 16
S Pfad-Zugriff über Servlet-init() Allgemeines EE 2
E Servlet Wie kann ich ohne Hilfe von Eclipse in JBoss mein servlet aufrufen Allgemeines EE 2
S Servlet.service() threw exception Allgemeines EE 4
A Servlet erkennt request Objekt nicht Allgemeines EE 8
G Direkter Zugriff auf Servlet- doPost Allgemeines EE 15
G Servlet doGet, doPost Allgemeines EE 3
A Kodierungsproblem bei Parameterübergabe von Browser an Servlet (GET) Allgemeines EE 2
Antoras servlet-mapping auf dynamische URLs Allgemeines EE 17
0 Problem mit librarys javax.servlet.http.HttpServletRequest cannot be resolved Allgemeines EE 1
MQue Ajax - Servlet Allgemeines EE 2
MQue Servlet Allgemeines EE 9
S [Design] Dynamischer EJB Aufruf von Servlet Allgemeines EE 3
S Servlet auf JBoss 5? Allgemeines EE 11
B HttpSession bekommen wenn nicht in Servlet Allgemeines EE 8
MQue Servlet / Button Allgemeines EE 5
S In Eclipse werden die "Servlet-Klassen" nicht gefu Allgemeines EE 2
U javax.faces und javax.servlet cannot be resolved Allgemeines EE 2
W Potentielles Memory Leak bei Servlet Allgemeines EE 6
Escorter Servlet .sar und jede Menge .jar Archive Allgemeines EE 2
N Servlet und JSF (URL-Rewriting)? Allgemeines EE 3
A jsf: Servlet aufrufen, wie geht das? web.xml Fehler? Allgemeines EE 13
N Servlet zyklisch aktualisieren Allgemeines EE 2
zilti Verbindung Applet <-> Servlet Allgemeines EE 5
ARadauer Servlet Bild Rückgabe Allgemeines EE 2
I Über Formular Daten zu Servlet Allgemeines EE 36
H Servlet - Zwischenmeldung anzeigen bei längerer Berechnung Allgemeines EE 2
G Ordner mit Umlauten einlesen - Servlet Allgemeines EE 3
A web.xml für Servlet in Tomcat 5.5 erstellen Allgemeines EE 2
M Zwei Buttons in einem Servlet Allgemeines EE 2
M Servlet lässt sich nicht aufrufen Allgemeines EE 6
A web.xml für Servlet in Tomcat erstellen Allgemeines EE 6
B Servlet Allgemeines EE 3
G EJB - EJB wird nicht ins Servlet geladen Allgemeines EE 3
K load-on-startup -> in der Servlet Klasse Allgemeines EE 6
G Objekt an Servlet übergeben - oder Objekt global definieren? Allgemeines EE 4
W Was bei Servlet-Entwicklung alles beachten? Allgemeines EE 8
R Zugriff auf Filter Servlet Allgemeines EE 10
I JBOSS Jsp Files Pfad im Servlet? Allgemeines EE 4
N Servlet-Request abbrechen? Allgemeines EE 3
D Java Servlet mit Radio Buttons Allgemeines EE 2
G Servlet debugging Allgemeines EE 8
N Thread von Servlet aus starten Allgemeines EE 16
N JSP: Collection im Servlet überwachen (mit AJAX)? Allgemeines EE 5
J Socket daten darstellen per jsp,servlet Allgemeines EE 2
W servlet über https Allgemeines EE 2
L Servlet kann Funktion nicht aufrufen Allgemeines EE 3
B Parameterübergane von Servlet an JSP funktioniert nicht ? Allgemeines EE 2
M Aus einem Servlet auf ein anderes zugreifen ? Allgemeines EE 2
G Servlet Serializable Allgemeines EE 2
B Servlet-Api.jar auf JBoss? (Migration von Tomcat zu JBoss) Allgemeines EE 4
H Servlet - Importieren von Code Allgemeines EE 2
P Java Servlet - Umgang mit Verlinkungen Allgemeines EE 7
M Wert aus Servlet an normale Klasse übergeben Allgemeines EE 2
E Servlet soll JFRame öffnen. Jframe.setvisible schlägtfehl Allgemeines EE 2
M servlet --> jsp - problem beim umstrukturieren Allgemeines EE 5
D Servlet Problem über Server Allgemeines EE 26
K Servlet per Formular aufrufen Allgemeines EE 8
L sessions mit servlet oder jsp ? Allgemeines EE 9
B JSF - Servlet mit Parametern über einen Link öffnen Allgemeines EE 3
D Binärdaten im Servlet entgegen nehmen, aber wie? Allgemeines EE 5
T Servlet-Instanzen und ServletContext Allgemeines EE 2
L speichern von daten mittels servlet in xml Allgemeines EE 8
N Collection überwachen (Servlet + AJAX) Allgemeines EE 3
N Liste mit Checkboxen an Servlet übergeben? Allgemeines EE 3
T Wie Datenbank und Servlet koppeln? Allgemeines EE 3
G Ladeseite anzeigen lassen während das Servlet noch arbeitet? Allgemeines EE 6
P Tomcat Servlet POST Daten als Array Allgemeines EE 2
P PDF per Servlet übertragen, danach keinen Inhalt mehr Allgemeines EE 12
N JSP kann Servlet nicht aufrufen! :-( Allgemeines EE 2
J Servlet Parameter aus web.xml übergeben, wie zugreifen? Allgemeines EE 2
L servlet.jar ? Allgemeines EE 2

Ähnliche Java Themen


Oben