Wicket je jedním z nejznámějších webových frameworků v jazyce Java. Práce s ním je zábavná a efektivní. To ale nemění nic na tom, že je potřeba trochu vědět, co děláme a na pár věcí dávat pozor. O některých z nich bude tento text.

Přidáme-li do stránky nějakou stavovou komponentu (např. Link) nebo AJAX behavior, musíme mít na paměti, že Wicket na konci http požadavku ukládá instanci stránky i s celým komponentovým stromem do first level cache - http session. Což při nedodržení určitých zásad může vést až k tomu, že se velikost session pohybuje v řádech megabajtů. V session se drží stránky pouze z posledního request cyklu, ale aby v prohlížeči fungovalo tlačítko zpět, ukládá se stránka v serializované podobě (pole bajtů) také do second level cache (společné pro celou aplikaci) a zároveň do perzistentního úložiště na filesystém nebo do databáze. Při dalším http požadavku se Wicket pokusí najít stránku v session a pokud se mu to nepodaří, pokračuje v second level cache a perzistentním úložišti. Získání stránky ze second level cache je pomalejší než ze session, protože musí dojít k deserializaci, ale rychlejší než z perzistentního úložiště, protože jsou data držena v paměti. Na konci požadavku je first level cache opět přepsána novou instancí stránky a takto pořád dokola.