There have been several requests for information about Session Size and Stateless/Stateful pages in Wicket. I've set up this page so people have a place to put/link to related documentation.
Let's start with some bullet points we can flesh out. When we have enough information we can organise it to create a cohesive and valuable document.
Introduction
Stateful Web Applications
Server Side State vs Client Side State
Versioning/Back Button
Page Maps
Why Does It Matter?
Identifying The Problem
Map Size
Testing
Profiling
Detachable Models
Stateful vs Stateless
Beware ...
Non-static inner classes
Non-static inner classes can access the state of the enclosing object. To do this, the byte code of the inner-class contains a reference to the outer-class instance. So, when the inner-class instace is serialised, the outer-class instance will be serialised too!
Keeping a reference to the previous page
If a page keeps a reference to a previous page (for example to implement a "back to last step" button), this will cause the "previous page" to be serialised again when the page holding the reference is serialised.
... alternative to this approach include ...