Controlling Sessions
An HTTP session is a series of interactions between a single HTTP client (e.g., a web
browser instance) and a web server such as Tomcat. The servlet specification defines an
HttpSession object that temporarily stores information
about a user, including a unique session identifier and references to Java objects that the
web application stores as attributes of the session. Typical uses of sessions include
shopping carts and sites that require users to sign in. Usually, sessions are set to time
out after a configurable period of user inactivity, where user inactivity is defined as a
pause in requests belonging to the HTTP session. Once a session has timed out, it is said to
be an invalid session, and if the user makes a new HTTP request to the
site a new, valid session has to be created, usually through a re-login.
Tomcat has pluggable session Managers that handle the
logic about how sessions are handled and session Stores
to save and load sessions. Not every Manager uses a
Store to persist sessions; it is an implementation
option to use the Store interface in order to provide
pluggable session store capabilities. Robust session Managers will implement some kind of persistent storage for their sessions,
regardless of whether they use the Store interface.
Specifying a Manager implementation works in a similar
fashion to specifying a Realm:
<Manager className="some.manager.implementation.className" customAttribute1="some custom value" customAttribute2="some other custom ...