Da aus dem Beispiel inzwischen eine reine Webanwendung geworden ist, wurde der Code deutlich verschlankt: Die Swing-UI-Klassen fehlen ebenso wie Main.java und Controller.java. Damit stellt sich natürlich die Frage, wie ohne diese beiden Klassen das Tasks-Objekt erzeugt werden kann? Die TasksFactory verfügt nun über eine zusätzliche Methode:
Diese verwaltet eine statische Instanz einer JDBM-basierten Tasks-Instanz. Wann immer eine Klasse eine Referenz auf Tasks benötigt, ruft sie diese Methode auf, und das Tasks-Objekt wird jeweils nach Bedarf erstellt.
Seit dem Schreiben des DWR-Codes hat sich DWR von Milestone 2 zu Milestone 3 geändert, wodurch unter anderem das Verschicken von Javascript-Code erheblich einfacher wurde. Dadurch funktioniert aber der Beispielcode nicht mehr.
In Milestone 3 gibt es eine neue Klasse namens ScriptBuffer, in der man sein Script ablegen kann. ScriptBuffer verfügt über zwei wichtige Methoden: appendScript und appendData. Um dem Puffer Script-Text hinzuzufügen, verwendet man einfach appendScript() mit einem Stringparameter:
Um diesem Script ein Objekt hinzuzufügen, ruft man appendData() mit diesem Objekt als Parameter auf:
Natürlich muss das Javascript noch vervollständigt werden, so dass nach den genannten zwei Zeilen noch die folgende Zeile hinzugefügt werden muss:
Dies beinhaltet die schließende Klammer und das Zeilenende. Was man sich merken sollte, ist die Tatsache, dass diese ScriptBuffer-Methoden den ScriptBuffer selber als Rückgabewert liefern, so dass mehrere Methodenaufrufe hintereinander geschaltet werden können:
Auch der Javascript-Code für den Client wurde geändert, um den „Alles aktualisieren, falls sich etwas geändert hat“-Code durch eine intelligentere Aktualisierung der HTML-Tabelle zu ersetzen. Damit sollen Zeilen beim Löschen entfernt, beim Einfügen hinzugefügt und Änderungen möglichst gering gehalten werden, wenn sich nur ein einzelner Eintrag geändert hat.
Den Quellcode für dieses Tutorial gibt es als Download.
Weitere Informationen
In diesem Artikel wurden die vielfältigen Funktionen von Maven nur angerissen. Dabei wurde in hohem Maße auf Mavens Standardverhaltensweisen zurückgegriffen, die von dessen „Super POM“-Datei abgeleitet sind, von der alle POM-Dateien erben, sowie auf die Standardeinstellungen der Plugins. Da es hier um die Migration einer bestehenden Anwendung ging, kam nicht Mavens archetype-Mechanismus zum Einsatz, der auf Basis von Vorlagen neue Artefakt-Verzeichnisse erstellt, samt POM-Datei.
Wer mehr über Maven erfahren möchte, sollte auf jeden Fall zuerst einen Blick auf die Maven-Website als definitive Referenz werfen. Eine hervorragende Einführung ist das kostenlose PDF-E-Book „Better Builds With Maven“ von Mergere. Man muss sich zwar registrieren, aber es lohnt sich. Mit Maven werden Entwicklung und Build-Prozess von Java-Code ein gutes Stück einfacher.
Kontinuierliche Content Produktion und Markenaufbau sind essentieller Pfeiler von langfristigen Unternehmenserfolg. Das ist mittlerweile auch…
KI-Funktionen beschleunigen die Erholung des PC-Markts. Der Nettogewinn legt um 44 Prozent zu, der Umsatz…
Googles App-Entwickler-Kit dient der Tarnung des schädlichen Codes. Der Sicherheitsanbieter Jamf hält die Schadsoftware für…
Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.
Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…
Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…