Ajax für Java mit Direct Web Remoting

Die erste Aufgabe in Hinblick auf ToDoTasks wird darin bestehen, die grundlegende Funktion bereitzustellen, ehe es darum geht, die neue Benutzeroberfläche zu erstellen. Dazu nimmt man den Quellcode von ToDoTasks aus dem vorhergehenden Artikel und ergänzt ihn um DWR. Zuerst muss man dazu DWR herunterladen. DWR 2.0 ist derzeit in Entwicklung, daher soll hier DWR 1.1 zum Einsatz kommen. Man lädt die Datei dwr.jar herunter. Statt die jar-Datei im libs-Verzeichnis zu speichern, kann sie dem bereits erstellten Verzeichnis für die Webanwendung hinzugefügt werden. Man erstellt also ein lib-Verzeichnis unter webapp/WEB-INF und kopiert die Datei dwr.jar dorthin.

Innerhalb von dwr.jar befinden sich das Servlet und die Ressourcen, die DWR verwendet, also muss man das DWR-Servlet in die Webanwendung integrieren. Hierzu bearbeitet man die Datei webapp/WEB-INF/web.xml und fügt Folgendes hinter dem vorhandenen <servlet>-Eintrag hinzu,

um das DWR-Servlet zu definieren. Und nach den vorhandenen <servlet-mapping>-Einträgen fügt man Folgendes ein,

um dem DWR-Servlet mitzuteilen, dass es sich um alle Anfragen an die Adresse /dwr/* kümmern soll. Danach erstellt man die Datei Adder.java im Verzeichnis src/com/builder/uk/todotasks/ mit dem oben gezeigten Code.

Jetzt fehlt nur noch ein Schritt: die Konfiguration von DWR. DWR wird mithilfe der Datei dwr.xml im Verzeichnis webapp/WEB-INF konfiguriert. Diese kontrolliert, welche Java-Klassen für Javascript zugänglich gemacht werden sollen. Hier die Datei dwr.xml, mit der Adder öffentlich gemacht wird:

Innerhalb des <dwr>-Elements findet sich ein <allow>-Element, welches festlegt, auf welche Klassen zugegriffen werden darf. Innerhalb dieses Elements wiederum gibt es ein <create>-Element. Dieses legt fest, wann DWR eine Instanz der Klasse erzeugt. Das Attribut creator (hier auf „new“ gesetzt), gibt an, wie die Instanz erzeugt wird, wobei „new“ den Operator „new“ von Java verwendet. Andere mögliche Werte für creator sind „scripted“ für das Erzeugen einer Instanz mithilfe einer Scriptsprache, „spring“, „jsf“, „struts“ und „pageflow“ für die Erzeugung mithilfe der entsprechenden Frameworks und „null“ für statische Klassen.

Das Attribut Javascript gibt den Namen an, den diese Instanz im Javascript-Code haben soll, der sie verwendet. Und das Attribut scope schließlich legt fest, wann und für wie lange das Objekt existieren soll. Bei diesem Beispiel wird „session“ angegeben, so dass das Objekt bei Beginn der Browser-Session mit dem Server erzeugt wird.

Das <create>-Element kann mehrere andere Elemente enthalten. <param>-Elemente werden dem creator übergeben, daher wird in diesem Fall der Parameter „class“ auf den Namen der gewünschten Java-Klasse eingestellt.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Google veröffentlicht neues Sicherheitsupdate für Chrome

Zwei Schwachstellen in Chrome gehören nun der Vergangenheit an. Von ihnen geht ein hohes Risiko…

2 Tagen ago

Digitale Souveränität: ein essenzieller Erfolgsfaktor für Unternehmen

Mit der zunehmenden computerbasierten und globalen Vernetzung gewinnt die digitale Souveränität an rasanter Bedeutung. Viele…

2 Tagen ago

Google schließt kritische Sicherheitslücke in Android 14

Weitere schwerwiegende Fehler stecken in Android 12 und 13. Insgesamt bringt der Mai-Patchday 29 Fixes.

3 Tagen ago

IT Sicherheit: digitale Angriffe sicher abwehren

IT-Sicherheit - Erkennen und Abwehren von digitalen Angriffen

3 Tagen ago

Bestverkaufte Smartphones: Apple und Samsung dominieren

Das iPhone 15 Pro Max ist das meistverkaufte Smartphone im ersten Quartal. Das Galaxy S24…

3 Tagen ago

Google: Passkeys schützen mehr als 400 Millionen Google-Konten

Die Passwort-Alternative Passkeys überholt Einmalpasswörter bei der Zwei-Faktor-Authentifizierung. Auch Microsoft setzt sich aktiv für die…

4 Tagen ago