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.
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.
Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…
Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.