public interface HttpSession
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'/>
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getAttribute(java.lang.String name)
Returns a session value.
|
java.util.Enumeration<java.lang.String> |
getAttributeNames()
Returns an enumeration of all the attribute names.
|
long |
getCreationTime()
Returns the time when the session was created.
|
java.lang.String |
getId()
Returns the id for the session.
|
long |
getLastAccessedTime()
Returns the time of last request associated with a session
before the current request
|
int |
getMaxInactiveInterval() |
ServletContext |
getServletContext()
Returns the owning servlet context.
|
HttpSessionContext |
getSessionContext()
Deprecated.
|
java.lang.Object |
getValue(java.lang.String name)
Deprecated.
|
java.lang.String[] |
getValueNames()
Deprecated.
|
void |
invalidate()
Invalidates the current session.
|
boolean |
isNew()
Returns true if the session is new.
|
void |
putValue(java.lang.String name,
java.lang.Object value)
Deprecated.
|
void |
removeAttribute(java.lang.String name)
Removes an attribute.
|
void |
removeValue(java.lang.String name)
Deprecated.
|
void |
setAttribute(java.lang.String name,
java.lang.Object value)
Sets an attribute value.
|
void |
setMaxInactiveInterval(int interval)
Sets the maximum inactive interval.
|
java.lang.String getId()
getId
returns the randomly generated
value.boolean isNew()
isNew
is false.long getCreationTime()
long getLastAccessedTime()
void setMaxInactiveInterval(int interval)
interval
- the new inactive interval in seconds.int getMaxInactiveInterval()
java.lang.Object getAttribute(java.lang.String name)
name
- of the attribute.java.util.Enumeration<java.lang.String> getAttributeNames()
void setAttribute(java.lang.String name, java.lang.Object value)
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);
}
}
name
- of the attribute.value
- value to storevoid removeAttribute(java.lang.String name)
name
- of the attribute.void invalidate()
All attribute values which implement HttpSessionBindingListener, will receive a notice when they're removed at invalidation.
HttpSessionContext getSessionContext()
ServletContext getServletContext()
java.lang.Object getValue(java.lang.String name)
java.lang.String[] getValueNames()
void putValue(java.lang.String name, java.lang.Object value)
void removeValue(java.lang.String name)