Aufklärung + Anregung (JSF, JSP, State-of-the-art)

timbeau

Gesperrter Benutzer
Hi,

bin mit Java einigermaßen vertraut, komme aber hier bei meiner Überlegung nicht weiter.

Einleitung:
Um schnell an die aktuellen Bundesliga-Ergebnisse zu kommen habe ich mir ein Java-Programm gebastelt, welches von OpenLigaDB - Communitybasierte Sportdaten per XML-Webservice per Webservice die Daten holt. Kicker.de, Bild.de usw sind durch die Bilder leider extrem lahm.

Ab hier(!) geht mein Test los, bzgl Webtechnologien. Hier hab ich nämlich 0 Erfahrung. Daher habe ich mir eine Bean gebastelt, die in einer(bzw 3) JSP(s) angezeigt wird. Die Werte werden mittels Expression Language ausgelesen und angezeigt.
Aktuell habe ich 3 Seiten. Jede Seite bietet ein Auswahlmenü
1. Seite: Die Sportart (Fußball, Handball, etc)
2. Seite: Die möglichen Ligen
3. Seite: Die Spieltage mit den einzelnen Spielen.

Meine Frage: Was wäre eine zeitgemäße Alternative. Habe gelesen, dass man JSPs nicht wirklich nutzen sollte, gäbe neueres. Könnt ihr mir hierzu ein paar Stichworte liefern? Komme aktuell auch aus Zeitmangel nicht dazu mich durch die verschiedenen Möglichkeiten zu arbeiten um am Ende in Sackgassen zu landen. Lieber direkt in die richtige Richtung :)

Schonmal vielen Dank,

tim
 
Zuletzt bearbeitet von einem Moderator:

darekkay

Bekanntes Mitglied
Ich werfe GWT und/oder Vaadin (basiert auf GWT) in den Raum. Vereinfacht gesagst schreibst du alles in Java, und der Client wird hinterher nach Javascript übersetzt. Bei Vaadin ist die Einarbeitungszeit denke ich etwas geringer, und schick sieht's auch aus.
 
J

JohannisderKaeufer

Gast
Die erste Technologie mit der man sich vertraut machen kann und vielleicht auch sollte sind Servlets.

Mit Servlets schreibt man mehr oder weniger eine HTML-Seite in einen Outputstream.
Der Nachteil dabei ist, das es keine Trennung zwischen Logik und Präsentation gibt.
Java:
void doGet(HttpRequest req, HttpResponse res){
res.getOutputStream().write("<h1>Hello World</h1>");
...
}


Bei JSP schreibt man alles in HTML-Templates bei dem die dynamischen Teile mit kleinen Java Snippets gesetzt werden.
Das macht vieles übersichtlicher, man neigt allerdings dazu zuviel Logik in diese Templates einzubauen.
Eine Forschleife für eine Listenansicht wäre ok, ein Datenbankzugriff eher nicht. So sind diese JSPs auch wieder schnell unübersichtlich geworden.

JSF macht hier eine Trennung. Die Präsentationsschicht wird in Templates definiert (in früheren Versionen JSP) und die Logik in entsprechenden Beans definiert. Es bietet also eine Convention zur Trennung von Logik und Präsentation, sowie einen Rahmen beides miteinander zu Verknüpfen.
 

timbeau

Gesperrter Benutzer
Danke schonmal. Ich hab bisher keinen Java-Code in den JSP-Dateien. Die dynamischen Parts werden durch die erwähnte Expression-Language generiert. Das ist aber mW kein Java Code oder?! Die Logik wird in der Bean bzw. in den anderen Klassen des Projekts erledigt.
In Eclipse ist es ein "Dynamic Web Project", habe ich vergessen zu erwähnen.

Vaadin schaue ich mir mal an, danke.
 

F.S.WhiTeY

Bekanntes Mitglied
Zur headline und "State-of-the-art".

JSP: Nicht State-of-the-art, veraltet und sollte man sich erst anschauen wen man in den anderen sachen firm ist. (Schadet aber auch nicht! Sehr viele Firmen haben noch JSP-Anwendungen)

JSF: Ist State-of-the-art, ist genau das womit du anfangen solltest.

Servlets: Sind das Herz von JSF. Sollte man sich auf jeden fall anschauen. Allerdings finde ich das man sie nicht nur benutzen sollte. Im Zusammenhang mit JSF macht es allerdings einen heiden SPaß und sehr viel Sinn.

GWT und der gleichen sind auch interessant denke ich, obwohl ich mich selbst noch nicht damit beschäftigt habe.

Spring wäre noch eine Alternative.

Die dynamischen Parts werden durch die erwähnte Expression-Language generiert. Das ist aber mW kein Java Code oder?!

Nein das ist kein reiner Java-Code. Das sind XHTML- bzw EL-Tags.
 
Zuletzt bearbeitet:

timbeau

Gesperrter Benutzer
Danke, dann werde ich das JSP-Projekt fertigstellen und dann in GWT, Spring oder ähnlichem realisieren. Hauptsache ich kann die Ergebnisse gut abrufen.

*VIVA BVB* ;)
 

Neue Themen


Oben