public interface SessionCookieConfig
An instance of this class is acquired by a call to ServletContext.getSessionCookieConfig()
.
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getComment()
Gets the comment that will be assigned to any session tracking cookies created on behalf of the application
represented by the ServletContext from which this SessionCookieConfig was acquired.
|
java.lang.String |
getDomain()
Gets the domain name that will be assigned to any session tracking cookies created on behalf of the application
represented by the ServletContext from which this SessionCookieConfig was acquired.
|
int |
getMaxAge()
Gets the lifetime (in seconds) of the session tracking cookies created on behalf of the application represented by
the ServletContext from which this SessionCookieConfig was acquired.
|
java.lang.String |
getName()
Gets the name that will be assigned to any session tracking cookies created on behalf of the application represented
by the ServletContext from which this SessionCookieConfig was acquired.
|
java.lang.String |
getPath()
Gets the path that will be assigned to any session tracking cookies created on behalf of the application represented
by the ServletContext from which this SessionCookieConfig was acquired.
|
boolean |
isHttpOnly()
Checks if the session tracking cookies created on behalf of the application represented by the
ServletContext from which this SessionCookieConfig was acquired will be marked as HttpOnly.
|
boolean |
isSecure()
Checks if the session tracking cookies created on behalf of the application represented by the
ServletContext from which this SessionCookieConfig was acquired will be marked as secure
even if the request that initiated the corresponding session is using plain HTTP instead of HTTPS.
|
void |
setComment(java.lang.String comment)
Sets the comment that will be assigned to any session tracking cookies created on behalf of the application
represented by the ServletContext from which this SessionCookieConfig was acquired.
|
void |
setDomain(java.lang.String domain)
Sets the domain name that will be assigned to any session tracking cookies created on behalf of the application
represented by the ServletContext from which this SessionCookieConfig was acquired.
|
void |
setHttpOnly(boolean httpOnly)
Marks or unmarks the session tracking cookies created on behalf of the application represented by the
ServletContext from which this SessionCookieConfig was acquired as HttpOnly.
|
void |
setMaxAge(int maxAge)
Sets the lifetime (in seconds) for the session tracking cookies created on behalf of the application represented by
the ServletContext from which this SessionCookieConfig was acquired.
|
void |
setName(java.lang.String name)
Sets the name that will be assigned to any session tracking cookies created on behalf of the application represented
by the ServletContext from which this SessionCookieConfig was acquired.
|
void |
setPath(java.lang.String path)
Sets the path that will be assigned to any session tracking cookies created on behalf of the application represented
by the ServletContext from which this SessionCookieConfig was acquired.
|
void |
setSecure(boolean secure)
Marks or unmarks the session tracking cookies created on behalf of the application represented by the
ServletContext from which this SessionCookieConfig was acquired as secure.
|
void setName(java.lang.String name)
NOTE: Changing the name of session tracking cookies may break other tiers (for example, a load balancing frontend) that assume the cookie name to be equal to the default JSESSIONID, and therefore should only be done cautiously.
name
- the cookie name to usejava.lang.IllegalStateException
- if the ServletContext from which this SessionCookieConfig was
acquired has already been initializedjava.lang.String getName()
By default, JSESSIONID will be used as the cookie name.
setName(java.lang.String)
, or null if setName(java.lang.String)
was never calledCookie.getName()
void setDomain(java.lang.String domain)
domain
- the cookie domain to usejava.lang.IllegalStateException
- if the ServletContext from which this SessionCookieConfig was
acquired has already been initializedCookie.setDomain(String)
java.lang.String getDomain()
setDomain(java.lang.String)
, or null if setDomain(java.lang.String)
was never calledCookie.getDomain()
void setPath(java.lang.String path)
path
- the cookie path to usejava.lang.IllegalStateException
- if the ServletContext from which this SessionCookieConfig was
acquired has already been initializedCookie.setPath(String)
java.lang.String getPath()
By default, the context path of the ServletContext from which this SessionCookieConfig was acquired will be used.
setPath(java.lang.String)
, or null if setPath(java.lang.String)
was never calledCookie.getPath()
void setComment(java.lang.String comment)
As a side effect of this call, the session tracking cookies will be marked with a Version
attribute
equal to 1
.
comment
- the cookie comment to usejava.lang.IllegalStateException
- if the ServletContext from which this SessionCookieConfig was
acquired has already been initializedCookie.setComment(String)
,
Cookie.getVersion()
java.lang.String getComment()
setComment(java.lang.String)
, or null if setComment(java.lang.String)
was never calledCookie.getComment()
void setHttpOnly(boolean httpOnly)
A cookie is marked as HttpOnly by adding the HttpOnly attribute to it. HttpOnly cookies are not supposed to be exposed to client-side scripting code, and may therefore help mitigate certain kinds of cross-site scripting attacks.
httpOnly
- true if the session tracking cookies created on behalf of the application represented by the
ServletContext from which this SessionCookieConfig was acquired shall be marked as HttpOnly,
false otherwisejava.lang.IllegalStateException
- if the ServletContext from which this SessionCookieConfig was
acquired has already been initializedCookie.setHttpOnly(boolean)
boolean isHttpOnly()
Cookie.isHttpOnly()
void setSecure(boolean secure)
One use case for marking a session tracking cookie as secure, even though the request that initiated the session came over HTTP, is to support a topology where the web container is front-ended by an SSL offloading load balancer. In this case, the traffic between the client and the load balancer will be over HTTPS, whereas the traffic between the load balancer and the web container will be over HTTP.
secure
- true if the session tracking cookies created on behalf of the application represented by the
ServletContext from which this SessionCookieConfig was acquired shall be marked as secure
even if the request that initiated the corresponding session is using plain HTTP instead of HTTPS, and false if they
shall be marked as secure only if the request that initiated the corresponding session was also securejava.lang.IllegalStateException
- if the ServletContext from which this SessionCookieConfig was
acquired has already been initializedCookie.setSecure(boolean)
,
ServletRequest.isSecure()
boolean isSecure()
Cookie.getSecure()
,
ServletRequest.isSecure()
void setMaxAge(int maxAge)
maxAge
- the lifetime (in seconds) of the session tracking cookies created on behalf of the application
represented by the ServletContext from which this SessionCookieConfig was acquired.java.lang.IllegalStateException
- if the ServletContext from which this SessionCookieConfig was
acquired has already been initializedCookie.setMaxAge(int)
int getMaxAge()
By default, -1 is returned.
Cookie.getMaxAge()