Guter Wein braucht Zeit. Ein Buch zu schreiben ist vielleicht nicht ganz so zeitaufwendig, aber eben auch nicht mal so schnell gemacht. Ein Buch über Wicket zu schreiben ist aber vermutlich noch eine zusätzliche Herausforderung. Wenn ich vorher gewusst hätte, wie viel Arbeit ich in Praxisbuch Wicket stecken muss, hätte ich es vermutlich nicht angefangen. Aber zum Glück weiß man sowas vorher nicht und so hieß es immer wieder “Zähne zusammen beißen”. Der nette Nebeneffekt: ich kenne Wicket jetzt schon sehr genau.
Und das was ich gesehen habe, verdient Respekt. Wicket ist ein sehr gut strukturiertes Softwareprojekt mit sehr guter Dokumentation in den Quelltexten und mit unglaublich vielen Möglichkeiten. Diese unglaubliche Flexibilität hat zwar dazu geführt, dass ich mehr Zeit als erwartet investieren musste, damit das Buch einen sinnvollen Rahmen findet. Aber es ist eben auch diese Flexibilität, die Wicket für so viele Webprojekte qualifiziert.
Warum habe ich das Buch geschrieben? Der Grund ist relativ einfach und indirekt egoistisch: Wenn mehr Leute Wicket benutzen, dann gibt es auch mehr Entwicklungen für Wicket (wie z.B. ein funktionierendes Plugin für Eclipse). Und das fände ich großartig. In dem ich ein Buch schreibe, in dem ich all meine Erfahrungen im Umgang mit Wicket einfließen lasse, beschleunige ich diesen Prozess, weil das Entwickeln mit Wicket wirklich Spass macht. Und wenn der Projektalltag mal nicht so viel Spaß macht, dann ist Wicket ein guter Freund, der Dir den Rücken frei hält.
Ich bin gespannt auf die Reaktionen und das Feedback. Ich danke allen die an mich geglaubt und mich unterstützt haben, und wenn es nur das beheben eines Fehlers war, der mir den Tag gerettet hat.
Michael Mosmann


Ich bin ebenfalls ein begeisterter Fan von Wicket.
Das Framework ist genial strukturiert und extrem leistungsfähig. Obwohl ich mich schon über mehrere Monate mit Wicket beschäftige entdecke ich immer wieder viele neue Dinge.
Mit Wicket kann man endlich leistungsfähige Webapplicatioen erstellen, und zwar genau so, wie man sich es immer schon als Javaprogrammierer gewünscht hat.
Ich freue mich schon wenn das Buch bei Amazon erhältlich ist.
Bereits jetzt, wo selbst englische Literatur dazu _noch_ rar ist, ein deutsches Buch zu Wicket. Erstaunlich, Hut ab dafür. Es steht auf alle Fälle auf meiner Einkaufsliste für dieses Jahr.
Hallo Michael,
auf Seite 268 Deines Buches stellst Du eine Methode vor, um für Bots die jsessionid aus der Url zu entfernen. Meine Frage ist. Wird dennoch mit jedem Botzugriff eine Session generiert? Wenn ja, kann man sie vor ihrem Timeout löschen?
Viele Grüße
greg
AFAIK wird bei jedem Zugriff eine Session erzeugt. Da bei Bots vermutlich nicht garantiert werden kann, wann die Zugriffe erfolgen, würde eine in die Url kodierte Session mit hoher Sicherheit auch nicht helfen.
Die Session anhängig vom Client (Bot oder Mensch) kürzer zu halten, könnte man in Wicket könnte wie folgt lösen: In der WebApplication-Klasse überschreibt man newSession():
@Override
public Session newSession(Request request, Response response)
{
int timeoutInSeconds = getTimeOutForBotsOrHumans(request);
setSessionTimeout(request, timeoutInSeconds);
return new WebSession(request);
}
protected static int getTimeOutForBotsOrHumans(Request request)
{
// hier müsste man den Http-Header auswerten und den Timeout entsprechend setzen
return 1800; // 30min
}
protected static void setSessionTimeout(Request request, int seconds)
{
WebRequest webRequest=(WebRequest) request;
HttpSession session=webRequest.getHttpServletRequest().getSession();
if (session != null)
{
session.setMaxInactiveInterval(seconds);
}
}