- A web session system provides the programmer with a persistent "bucket" to store objects
and data in, which will persist between user transactions. The servlet system specified by
the JSDK2.0 specification is limited in a number
of ways. Specifically, the specification does not clarify what happens to sessions when
the session implementation is restarted (usually the servlet runner). Another annoyance
of the JSDK2.0 session system is dealing with multiple implementations of the same
specification. The session system may function differently under different servlet
environments, making porting to different environments difficult. Specifically the
encodeURL function, so critical to cookieless sessions, is often disabled, nonfunctional
or not implemented in servlet environments. The apollo servlet system runs in the same
space as the servlet itself, which ensures full compatibility across different servlet
implementations. The apollo session system also addresses custom serialization, session
expiration, session reactivation and distributed sessions across the apollo distributed
jini
network.