spring-framework / org.springframework.web.util / CookieGenerator

CookieGenerator

open class CookieGenerator

Helper class for cookie generation, carrying cookie descriptor settings as bean properties and being able to add and remove cookie to/from a given response.

Can serve as base class for components that generate specific cookies, such as CookieLocaleResolver and CookieThemeResolver.

Author
Juergen Hoeller

Since
1.1.4

See Also
#addCookie#removeCookieorg.springframework.web.servlet.i18n.CookieLocaleResolverorg.springframework.web.servlet.theme.CookieThemeResolver

Constructors

<init>

CookieGenerator()

Helper class for cookie generation, carrying cookie descriptor settings as bean properties and being able to add and remove cookie to/from a given response.

Can serve as base class for components that generate specific cookies, such as CookieLocaleResolver and CookieThemeResolver.

Properties

DEFAULT_COOKIE_PATH

static val DEFAULT_COOKIE_PATH: String

Default path that cookies will be visible to: "/", i.e. the entire server.

Functions

addCookie

open fun addCookie(response: HttpServletResponse, cookieValue: String): Unit

Add a cookie with the given value to the response, using the cookie descriptor settings of this generator.

Delegates to #createCookie for cookie creation.

getCookieDomain

open fun getCookieDomain(): String

Return the domain for cookies created by this generator, if any.

getCookieMaxAge

open fun getCookieMaxAge(): Int

Return the maximum age for cookies created by this generator.

getCookieName

open fun getCookieName(): String

Return the given name for cookies created by this generator.

getCookiePath

open fun getCookiePath(): String

Return the path for cookies created by this generator.

isCookieHttpOnly

open fun isCookieHttpOnly(): Boolean

Return whether the cookie is supposed to be marked with the "HttpOnly" attribute.

isCookieSecure

open fun isCookieSecure(): Boolean

Return whether the cookie should only be sent using a secure protocol, such as HTTPS (SSL).

removeCookie

open fun removeCookie(response: HttpServletResponse): Unit

Remove the cookie that this generator describes from the response. Will generate a cookie with empty value and max age 0.

Delegates to #createCookie for cookie creation.

setCookieDomain

open fun setCookieDomain(cookieDomain: String): Unit

Use the given domain for cookies created by this generator. The cookie is only visible to servers in this domain.

setCookieHttpOnly

open fun setCookieHttpOnly(cookieHttpOnly: Boolean): Unit

Set whether the cookie is supposed to be marked with the "HttpOnly" attribute.

Default is "false".

setCookieMaxAge

open fun setCookieMaxAge(cookieMaxAge: Int): Unit

Use the given maximum age (in seconds) for cookies created by this generator. Useful special value: -1 ... not persistent, deleted when client shuts down.

Default is no specific maximum age at all, using the Servlet container's default.

setCookieName

open fun setCookieName(cookieName: String): Unit

Use the given name for cookies created by this generator.

setCookiePath

open fun setCookiePath(cookiePath: String): Unit

Use the given path for cookies created by this generator. The cookie is only visible to URLs in this path and below.

setCookieSecure

open fun setCookieSecure(cookieSecure: Boolean): Unit

Set whether the cookie should only be sent using a secure protocol, such as HTTPS (SSL). This is an indication to the receiving browser, not processed by the HTTP server itself.

Default is "false".

Inheritors

CookieLocaleResolver

open class CookieLocaleResolver : CookieGenerator, LocaleContextResolver

LocaleResolver implementation that uses a cookie sent back to the user in case of a custom setting, with a fallback to the specified default locale or the request's accept-header locale.

This is particularly useful for stateless applications without user sessions. The cookie may optionally contain an associated time zone value as well; alternatively, you may specify a default time zone.

Custom controllers can override the user's locale and time zone by calling #setLocale(Context) on the resolver, e.g. responding to a locale change request. As a more convenient alternative, consider using org.springframework.web.servlet.support.RequestContext#changeLocale.

CookieThemeResolver

open class CookieThemeResolver : CookieGenerator, ThemeResolver

ThemeResolver implementation that uses a cookie sent back to the user in case of a custom setting, with a fallback to the default theme. This is particularly useful for stateless applications without user sessions.

Custom controllers can thus override the user's theme by calling setThemeName, e.g. responding to a certain theme change request.