|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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'/>
Method Summary | |
java.lang.Object |
getAttribute(java.lang.String name)
Returns a session value. |
java.util.Enumeration |
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 when the session was last accessed. |
int |
getMaxInactiveInterval()
|
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. |
Method Detail |
public java.lang.String getId()
getId
returns the randomly generated
value.public boolean isNew()
isNew
is false.public long getCreationTime()
public long getLastAccessedTime()
public void setMaxInactiveInterval(int interval)
interval
- the new inactive interval in seconds.public int getMaxInactiveInterval()
public java.lang.Object getAttribute(java.lang.String name)
name
- of the attribute.public java.util.Enumeration getAttributeNames()
public 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 storepublic void removeAttribute(java.lang.String name)
name
- of the attribute.public void invalidate()
All attribute values which implement HttpSessionBindingListener, will receive a notice when they're removed at invalidation.
public HttpSessionContext getSessionContext()
public java.lang.Object getValue(java.lang.String name)
public java.lang.String[] getValueNames()
public void putValue(java.lang.String name, java.lang.Object value)
public void removeValue(java.lang.String name)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |