Java (JSP) mit JavaScript, wie geht das? Konzepte

Munch

Mitglied
Hallo libe Tuturials-Gemeinde,

ich steh vor einem Problem was ich alleine und durch Googln noch nicht lösen konnte. Ich möchte eine RIA (wie gmail) machen die im frontend (Clientseitig) größtenteils JavaScript einsetzt und im Backend (Server) auf Java setzt. Das Backend wird benötigt um in Dateien zu schreiben, bzw. aus Dateien zu lesen und diese wieder im Frontend anzuzeigen. Die Frage ist welches Konzept ich dafür einsetze und wie ich das logisch am besten umsetze?

Bei den Java-Frameworks kenne ich bisher nur JSP und bin damit sehr gut gefahren und kenne mich gut damit aus, deswegen würde ich auch gerne JSP Seiten für dieses Projekt verwenden. Spricht irgendwas gegen JSP, oder sollte ich mich mal intensiver mit JSF auseinandersetzen und eher dieses verwenden? Oder doch irgendwas ganz anderes wie z.B. Apache Wicked?

Das größte Problem was ich dabei habe und worauf ich keine Antwort finde ist das Problem nach welchen Konzept ich vorgehe. Ich kenne die MVC Architektur, habe aber irgendwie Probleme damit, das auf ein JavaScript basierendes Frontend aufzusetzen. Es gibt ja dann nicht die möglichkeit einen Controller einzusetzen, der auf ein Model zurückgreift und den User entsprechend weiterleitet auf die richtige View. Da ich aber keinen synchronen Request habe, kommt dieses Konzapt für mich ja eigentlich nicht in frage. Gibt es andere Architekturen/Konzepte mit dennen ich soetwas umsetzen kann?

Mein gedankengang dabei wäre: Das Frontend komplett mit JavaScript (ambesten OOP) und JSP Tag-Libs zu realisieren, dann per Ajax einen Controller aufzurufen der mir das entsprechend geänderte Tag dann wieder zurück liefert. Der Ursprungs Tag würde beim Client dann per JavaScript wieder geändert.
Ein beispiel:
Ein JSP Tag was eigentlich nur ein recheckiges <div> darstellt wird per JavaScript frei positionierbar gemacht. Die Koordinaten stehen in einem andern JSP Tag auf der Seite und sollen per AJAX nachgeladen werden, gleichzeitig aber Serverseitig in eine Datei geschrieben werden. (Ich weiß das man das auch direkt über JavaScript machen könnte, aber die Koordinaten sollen ja auch Serverseitig in eine Datei geschrieben werden. Der Sinn ist villeicht nicht ganz ersichtlicht, aber das soll auch nur ein sehr vereinfachtes Beispiel sein)

1. Bei jedem MouseOut wird ein AJAX-request gesendet an den Controller
2. Der Controller erkennt die Änderung und ruft das Model auf
2.1 Das Model schreibt die änderungen in eine Datei
3. Der Controller ruft die entsprechende View auf die quasi ein respons mit dem neuen Koordinaten-JSP-tag ist
4. im Frontend ersetzt das JavaScript das JSP-Tag der Koordinaten mit dem neuen JSP-Tag

Jetzt die Fragen: Ist so ein Konzept möglich und schlüssig, oder sollte ich ein anderes einsetzen? Ich stelle mir da die Frage wie man sowas am besten in JavaScript realisiert, ohne alles doppelt und dreifach zu machen? Gibt es für sowas schon gute Frameworklösungen?

Klar ist das ich viel AJAX für soetwas benötige, also hab ich mir die unterschiedlichen JavaScript Frameworks angesehen. Da ich jquery schon kenne, würde ich gerne dies einsetzen, allerdings bietet das GWT weitaus bessere möglichkeiten und die direkte Integration in Java ist sehr reizvoll. Leider gefallen mir die UI Komponenten von JQuery viel besser. Aber beides einzusetzen wäre ja zuviel, oder?

Ich hoffe ich konnte mein Problem erläutern und ihr versteht mein Problem. Für Tuturials zum Thema Java mit JavaScript bin ich immer offen ;)

viele Grüße
Munch
 
Also ich bin jetzt soweit schlauer wie ich es Konzeptieren will:
Code:
Client:                                                     |  asyn. Request:  |          Server:
JavaScript MVC-Architektur (mit jQuery und Jamal)          <------- JSON ------>          Java MVC (eventuell mit JSP)

Ein paar Links dazu, falls es mal jemanden anderen interessiert:
http://jamal-mvc.com/wiki (Jamal)
http://de.wikipedia.org/wiki/JSON (JSON)

Nun noch ein paar nervige Fragen fals das hier mal jemand ließt:
1. Spricht was gegen diese Architektur mit zwei MVCs?
2. Hat jemand erfahrun mit Jamal und kann mir sagen ob das was taugt?
3. Welches MVC Framework (am besten einfach) könnt ihr mir für Java empfehlen? Wie gesagt, ich kenn bisher nur JSP....


Grüße
Jan
 

Neue Beiträge

Zurück