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.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Ajax für Java mit Direct Web Remoting

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *