| javax.servlet.http.HttpSession
HttpSession | public interface HttpSession (Code) | | Sessions are a convenient way to connect users to web pages. Because
HTTP requests are intrinsically stateless, cookies and sessions are
needed to implement more sophisticated interfaces like user preferences.
Because a web site might easily have thousands of simultaneous
sessions, session attributes generally store small chunks of data
rather than large objects.
The servlet engine controls the number of active sessions through
two methods: a time limit on inactive sessions, and
a cap on the number of active sessions. The cap on the number of
sessions is controlled by an LRU mechanism, so active sessions will not
be culled.
Session configuration is per-application. It looks like:
<session-config session-max='4096'
session-timeout='30'/>
Load balancing
When using load balancing with Apache, sessions will always go to the
same JVM. The session id encodes the JVM which first created the session.
|
getAttribute | public Object getAttribute(String name)(Code) | | Returns a session value.
Parameters: name - of the attribute. stored value |
getAttributeNames | public Enumeration getAttributeNames()(Code) | | Returns an enumeration of all the attribute names.
|
getCreationTime | public long getCreationTime()(Code) | | Returns the time when the session was created.
|
getId | public String getId()(Code) | | Returns the id for the session. The session variable name is
'jsessionid'. getId returns the randomly generated
value.
|
getLastAccessedTime | public long getLastAccessedTime()(Code) | | Returns the time when the session was last accessed.
|
getMaxInactiveInterval | public int getMaxInactiveInterval()(Code) | | |
getServletContext | public ServletContext getServletContext()(Code) | | Returns the owning servlet context.
|
invalidate | public void invalidate()(Code) | | Invalidates the current session. Calling most of the session methods
after invalidation will throw an IllegalStateException.
All attribute values which implement HttpSessionBindingListener,
will receive a notice when they're removed at invalidation.
|
isNew | public boolean isNew()(Code) | | Returns true if the session is new. If the servlet engine found the
session from the client's request, isNew is false.
|
removeAttribute | public void removeAttribute(String name)(Code) | | Removes an attribute. If the attribute value implements
HttpSessionBindingListener, it will receive a notice when
it is removed. Because servlets are multithreaded,
removing ServletContext attributes will generally need synchronization.
Parameters: name - of the attribute. |
setAttribute | public void setAttribute(String name, Object value)(Code) | | Sets an attribute value. Because servlets are multithreaded,
setting HttpSession attributes will generally need synchronization.
Remember, users may open multiple browsers to the same page.
A typical initialization of an session attribute might look like:
HttpSession session = request.getSession();
String user;
synchronized (session) {
user = (String) session.getAttribute("user");
if (user == null) {
user = lookupUser(request);
sesion.setAttribute("user", user);
}
}
Parameters: name - of the attribute. Parameters: value - value to store |
setMaxInactiveInterval | public void setMaxInactiveInterval(int interval)(Code) | | Sets the maximum inactive interval. Sessions have a limited lifetime.
When the lifetime ends, the session will be invalidated.
Parameters: interval - the new inactive interval in seconds. |
|
|