Erste Schritte JSP oder JSF

Talemantros

Neues Mitglied
Hallo zusammen,
ich bin ganz neu i m Bereich JAVA und versuche mich gerade an einem Einstieg.
Habe mir das Buch "Java ist auch eine Insel" besorgt und angefangen, einen virtuellen Server gemietet, auf dem ich noch Ubuntu und Tomcat installieren muss und mich ein wenig mit diversen Themen beschäftigt.

Nun kommt man nach und nach von Frage zu Frage und derzeit kann ich mir eine nicht genau erklären und google hat mich leider mit den englischen FundSeiten auch nicht so richtig weiter gebracht.

Mir ist der Unterschied zwischen Java Server Pages und Java Server Faces nicht verständlich.
Wenn ich jetzt anfange und Anwendungen machen will, was nehme ich dann, damit ich nicht später womöglich alles neu machen muss?!

Ich hoffe, dass ihr eure Zeit für mich opfert und mir dies erklären könnt.

Da ich derzeit noch am Anfang stehe werde ich wohl erstmal mehr Zeit kosten, als die Hilfe, die ich vielleicht irgendwann mal zurück geben kann.

In diesem Sinne
Schönen Sonntag

Viele Grüße
Daniel
 

Wurstkopp

Bekanntes Mitglied
Ich kann dir den Unterschied leider auch nicht besser erklären als die typischen Google Suchergebnisse:
www.google.com/search?q=jsf+vs.+jsp

Erstmal: Für "klassische Anwendungen" brauchst du weder JSP, JSF oder Tomcat. Das ist alles für Web-Anwendungen. Da bin ich zwar auch nicht ganz im Thema, glaube aber dass in diesem Bereich JSF/JSP eher ein alter Hut ist und man heute eher auf Spring oder andere neue Frameworks setzt.

Man möge mich verbessern wenn ich falsch liege. Baue keine Webseiten mit Java X)
 

AndiE

Top Contributor
Ich würde am Anfang alles ausprobieren, also auch SWT und Swing, um grafische Oberflächen zu erstellen. Der Unterschied zwischen JSP und JSF ist nicht so einfach erklärt. Programmtechnisch zumindest unterscheiden sich beide sehr. Bei JSP hast du eine Methode die den Request erzeugt und dann ausgibt. Bei einer JSF erstellst du faktisch mit XHTM eine Webseite und lässt diese dann mit (Enterprise) Java Beans kommunizieren. Bis jetzt finde ich, dass man mit JSF eher die Schichtenarchitektur hinbekommt. Zu JSP habe ich noch keine größeren Samples gesehen, um zu vergleichen, welchen Aufwand man treiben muss, um gleiche Funktionalität zu bekommen.
 

Flown

Administrator
Mitarbeiter
Mir ist der Unterschied zwischen Java Server Pages und Java Server Faces nicht verständlich.
JSP ist der Vorgänger von JSF. JSP, ist historisch gesehen, der Durchbruch gewesen, warum Java für Webentwicklung genutzt wurde.
JSP lässt dich Javacode (Scriptlets) in einer HTML Seite einbetten (.jsp). Diese Technologie wurde auf Basis der Servlettechnologie gebaut.

Da das aber eigentlich keine gute Idee war und man eine bessere Trennung zwischen Code und Webstuff haben wollte, ist dann JSF ins Spiel gekommen (leider zu spät, da JS-Frameworks schon am kommen waren).
JSF ist eine Komponenten-basierende Templating Engine mit automatischen Bindings zu den Backing Beans (Javacode). Ich nutze es gerne für meine kleinen Projekte wo ich schnell die UI entwickeln möchte und mich mit den ganzen Bindings/ajax/REST-calls nicht aufhalten möchte.

JSF benutzt im Hintergrund auch die Servlettechnologie, ist aber im Lifecycle ein wenig sparsamer und hat auch tolle Frameworks, wie PrimeFaces/IceFaces/... die dir gleich Komponenten zur Verfügung Stellen.
 

mihe7

Top Contributor
Wenn ich jetzt anfange und Anwendungen machen will, was nehme ich dann, damit ich nicht später womöglich alles neu machen muss?!
Sofern die Entscheidung nur zwischen JSP und JSF liegt: JSF. Bezieht man JS-Frameworks noch mit ein, würde ich das z. Z. nicht pauschal beantworten wollen. Da hängt es m. E. stark davon ab, welche Art von Anwendung, welcher Nutzerkreis, welche Browserunterstützung...
 

dzim

Top Contributor
Ich bin um JSF immer gut rumgekommen, aber im wesentlichen nutzt man es am Ende doch, um "statische" Webseiten zu generieren... Oder besser gesagt: Nicht statisch, aber Multi-Page-Webanwendungen.
Für kleine Sachen würde ich dann in dem Fall wohl eher Thymeleaf verwenden (mehr oder weniger Standard bei Spring Boot). Oder aber komplett auf das UI im Serverprojekt verzichten, lieber einen reinen Backend-Server (mit ReSTfull-API) bauen und ein separates UI mit <beliebiges-JS-Framework-hier> erstellen...
 

Flown

Administrator
Mitarbeiter
@dzim
OT: Mal abgesehen von davon, dass man die Arbeit ins Frontend verlagert, welche Vorteile bietet ein Client JS Framework gegenüber Server Frameworks?
 

dzim

Top Contributor
@Flown keinen. Ich sag ja auch nicht, dass ich Web-Frontend-Fan bin. Es ist nur leider "state-of-the-art" geworden. Und um ehrlich zu sein verlege mich mich meist darauf, das Backend zu schreiben und überlass anderen das Web-Frontend. Es sei denn, es ist JavaFX, dann mach ich es wieder... :D
 

Talemantros

Neues Mitglied
Hey,
ich möchte mich hier erstmal für meine lange Abwesenheit entschuldigen nach meiner Frage. Es gehört sich nicht nach einer Frage nicht mehr zu reagieren.
Der Aufenthalt auf einer Intesivstation war sehr unvorhergesehen (wie das wohl immer so ist) und hat mich sehr zurück geworfen.

Danke für eure Antworten zu meinem Thema und den Empfehlungen.

Ich werde mich nun weiter mit Java beschäftigen und mich sicherlich auch hier später noch mal äußern bzw. Fragen haben :)

Vielleicht noch eine hinterher:
Was ist eure persönliche Meinung zu Apache.Wicket als Framework?!

Danke

VG
Daniel
 

mihe7

Top Contributor
Der Aufenthalt auf einer Intesivstation war sehr unvorhergesehen (wie das wohl immer so ist) und hat mich sehr zurück geworfen.
Erstmal gute Besserung. So etwas ist großer Mist und braucht seine Zeit.

Was ist eure persönliche Meinung zu Apache.Wicket als Framework?!
Speziell dazu habe ich keine Meinung, aber im Allgemeinen stelle ich die folgende Frage: gibt es Alternativen im Standard und falls ja, warum sollte man diese nicht verwenden?
 

Neue Themen


Oben