java.lang.Object | |
↳ | org.springframework.web.util.WebUtils |
Miscellaneous utilities for web applications. Used by various framework classes.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
SESSION_MUTEX_ATTRIBUTE | Key for the mutex session attribute | ||||||||||
SUBMIT_IMAGE_SUFFIXES | Name suffixes in case of image buttons |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Clear the Servlet spec's error attributes as javax.servlet.http.HttpServletRequest
attributes under the keys defined in the Servlet 2.3 specification:
javax.servlet.error.status_code ,
javax.servlet.error.exception_type ,
javax.servlet.error.message ,
javax.servlet.error.exception ,
javax.servlet.error.request_uri ,
javax.servlet.error.servlet_name . | |||||||||||
Expose the Servlet spec's error attributes as javax.servlet.http.HttpServletRequest
attributes under the keys defined in the Servlet 2.3 specification, for error pages that
are rendered directly rather than through the Servlet container's error page resolution:
javax.servlet.error.status_code ,
javax.servlet.error.exception_type ,
javax.servlet.error.message ,
javax.servlet.error.exception ,
javax.servlet.error.request_uri ,
javax.servlet.error.servlet_name . | |||||||||||
Expose the current request URI and paths as javax.servlet.http.HttpServletRequest
attributes under the keys defined in the Servlet 2.4 specification,
for containers that implement 2.3 or an earlier version of the Servlet API:
javax.servlet.forward.request_uri ,
javax.servlet.forward.context_path ,
javax.servlet.forward.servlet_path ,
javax.servlet.forward.path_info ,
javax.servlet.forward.query_string . | |||||||||||
Expose the given Map as request attributes, using the keys as attribute names
and the values as corresponding attribute values.
| |||||||||||
Extract the URL filename from the given request URL path.
| |||||||||||
Extract the full URL filename (including file extension) from the given request URL path.
| |||||||||||
Obtain a named parameter from the given request parameters.
| |||||||||||
Obtain a named parameter from the given request parameters.
| |||||||||||
Retrieve the first cookie with the given name.
| |||||||||||
Return whether default HTML escaping is enabled for the web application,
i.e.
| |||||||||||
Return an appropriate request object of the specified type, if available,
unwrapping the given request as far as necessary.
| |||||||||||
Return an appropriate response object of the specified type, if available,
unwrapping the given response as far as necessary.
| |||||||||||
Get the specified session attribute, creating and setting a new attribute if
no existing found.
| |||||||||||
Return a map containing all parameters with the given prefix.
| |||||||||||
Return the real path of the given path within the web application,
as provided by the servlet container.
| |||||||||||
Check the given request for a session attribute of the given name.
| |||||||||||
Check the given request for a session attribute of the given name.
| |||||||||||
Determine the session id of the given request, if any.
| |||||||||||
Return the best available mutex for the given session:
that is, an object to synchronize on for the given session.
| |||||||||||
Return the target page specified in the request.
| |||||||||||
Return the temporary directory for the current web application,
as provided by the servlet container.
| |||||||||||
Check if a specific input type="submit" parameter was sent in the request,
either via a button (directly with name) or via an image (name + ".x" or
name + ".y").
| |||||||||||
Return whether default HTML escaping is enabled for the web application,
i.e.
| |||||||||||
Determine whether the given request is an include request,
that is, not a top-level HTTP request coming in from the outside.
| |||||||||||
Remove the system property that points to the web app root directory.
| |||||||||||
Set the session attribute with the given name to the given value.
| |||||||||||
Set a system property to the web application root directory.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Prefix of the charset clause in a content type String: ";charset="
Default character encoding to use when request.getCharacterEncoding
returns null
, according to the Servlet spec.
Default web app root key: "webapp.root"
Standard Servlet 2.3+ spec request attributes for error pages.
To be exposed to JSPs that are marked as error pages, when forwarding to them directly rather than through the servlet container's error page resolution mechanism.
Standard Servlet 2.4+ spec request attributes for forward URI and paths.
If forwarded to via a RequestDispatcher, the current resource will see its own URI and paths. The originating URI and paths are exposed as request attributes.
HTML escape parameter at the servlet context level
(i.e. a context-param in web.xml
): "defaultHtmlEscape".
Standard Servlet 2.3+ spec request attributes for include URI and paths.
If included via a RequestDispatcher, the current resource will see the originating request. Its own URI and paths are exposed as request attributes.
Standard Servlet spec context attribute that specifies a temporary
directory for the current web application, of type java.io.File
.
Web app root key parameter at the servlet context level
(i.e. a context-param in web.xml
): "webAppRootKey".
Clear the Servlet spec's error attributes as javax.servlet.http.HttpServletRequest
attributes under the keys defined in the Servlet 2.3 specification:
javax.servlet.error.status_code
,
javax.servlet.error.exception_type
,
javax.servlet.error.message
,
javax.servlet.error.exception
,
javax.servlet.error.request_uri
,
javax.servlet.error.servlet_name
.
request | current servlet request |
---|
Expose the Servlet spec's error attributes as javax.servlet.http.HttpServletRequest
attributes under the keys defined in the Servlet 2.3 specification, for error pages that
are rendered directly rather than through the Servlet container's error page resolution:
javax.servlet.error.status_code
,
javax.servlet.error.exception_type
,
javax.servlet.error.message
,
javax.servlet.error.exception
,
javax.servlet.error.request_uri
,
javax.servlet.error.servlet_name
.
Does not override values if already present, to respect attribute values that have been exposed explicitly before.
Exposes status code 200 by default. Set the "javax.servlet.error.status_code" attribute explicitly (before or after) in order to expose a different status code.
request | current servlet request |
---|---|
ex | the exception encountered |
servletName | the name of the offending servlet |
Expose the current request URI and paths as javax.servlet.http.HttpServletRequest
attributes under the keys defined in the Servlet 2.4 specification,
for containers that implement 2.3 or an earlier version of the Servlet API:
javax.servlet.forward.request_uri
,
javax.servlet.forward.context_path
,
javax.servlet.forward.servlet_path
,
javax.servlet.forward.path_info
,
javax.servlet.forward.query_string
.
Does not override values if already present, to not cause conflicts with the attributes exposed by Servlet 2.4+ containers themselves.
request | current servlet request |
---|
Expose the given Map as request attributes, using the keys as attribute names and the values as corresponding attribute values. Keys need to be Strings.
request | current HTTP request |
---|---|
attributes | the attributes Map |
Extract the URL filename from the given request URL path. Correctly resolves nested paths such as "/products/view.html" as well.
urlPath | the request URL path (e.g. "/index.html") |
---|
Extract the full URL filename (including file extension) from the given request URL path. Correctly resolves nested paths such as "/products/view.html" as well.
urlPath | the request URL path (e.g. "/products/index.html") |
---|
Obtain a named parameter from the given request parameters.
See findParameterValue(java.util.Map, String)
for a description of the lookup algorithm.
request | current HTTP request |
---|---|
name | the logical name of the request parameter |
null
if the parameter does not exist in given request
Obtain a named parameter from the given request parameters.
This method will try to obtain a parameter value using the following algorithm:
parameters | the available parameter map |
---|---|
name | the logical name of the request parameter |
null
if the parameter does not exist in given request
Retrieve the first cookie with the given name. Note that multiple cookies can have the same name but different paths or domains.
request | current servlet request |
---|---|
name | cookie name |
null
if none is found
Return whether default HTML escaping is enabled for the web application,
i.e. the value of the "defaultHtmlEscape" context-param in web.xml
(if any).
This method differentiates between no param specified at all and an actual boolean value specified, allowing to have a context-specific default in case of no setting at the global level.
servletContext | the servlet context of the web application |
---|
Return an appropriate request object of the specified type, if available, unwrapping the given request as far as necessary.
request | the servlet request to introspect |
---|---|
requiredType | the desired type of request object |
null
if none
of that type is available
Return an appropriate response object of the specified type, if available, unwrapping the given response as far as necessary.
response | the servlet response to introspect |
---|---|
requiredType | the desired type of response object |
null
if none
of that type is available
Get the specified session attribute, creating and setting a new attribute if no existing found. The given class needs to have a public no-arg constructor. Useful for on-demand state objects in a web tier, like shopping carts.
session | current HTTP session |
---|---|
name | the name of the session attribute |
clazz | the class to instantiate for a new attribute |
IllegalArgumentException | if the session attribute could not be instantiated |
---|
Return a map containing all parameters with the given prefix. Maps single values to String and multiple values to String array.
For example, with a prefix of "spring_", "spring_param1" and "spring_param2" result in a Map with "param1" and "param2" as keys.
request | HTTP request in which to look for parameters |
---|---|
prefix | the beginning of parameter names (if this is null or the empty string, all parameters will match) |
Return the real path of the given path within the web application, as provided by the servlet container.
Prepends a slash if the path does not already start with a slash,
and throws a FileNotFoundException if the path cannot be resolved to
a resource (in contrast to ServletContext's getRealPath
,
which returns null).
servletContext | the servlet context of the web application |
---|---|
path | the path within the web application |
FileNotFoundException | if the path cannot be resolved to a resource |
---|
Check the given request for a session attribute of the given name. Throws an exception if there is no session or if the session has no such attribute. Does not create a new session if none has existed before!
request | current HTTP request |
---|---|
name | the name of the session attribute |
null
if not foundIllegalStateException | if the session attribute could not be found |
---|
Check the given request for a session attribute of the given name. Returns null if there is no session or if the session has no such attribute. Does not create a new session if none has existed before!
request | current HTTP request |
---|---|
name | the name of the session attribute |
null
if not found
Determine the session id of the given request, if any.
request | current HTTP request |
---|
null
if none
Return the best available mutex for the given session: that is, an object to synchronize on for the given session.
Returns the session mutex attribute if available; usually,
this means that the HttpSessionMutexListener needs to be defined
in web.xml
. Falls back to the HttpSession itself
if no mutex attribute found.
The session mutex is guaranteed to be the same object during
the entire lifetime of the session, available under the key defined
by the SESSION_MUTEX_ATTRIBUTE
constant. It serves as a
safe reference to synchronize on for locking on the current session.
In many cases, the HttpSession reference itself is a safe mutex as well, since it will always be the same object reference for the same active logical session. However, this is not guaranteed across different servlet containers; the only 100% safe way is a session mutex.
session | the HttpSession to find a mutex for |
---|
null
)Return the target page specified in the request.
request | current servlet request |
---|---|
paramPrefix | the parameter prefix to check for (e.g. "_target" for parameters like "_target1" or "_target2") |
currentPage | the current page, to be returned as fallback if no target page specified |
Return the temporary directory for the current web application, as provided by the servlet container.
servletContext | the servlet context of the web application |
---|
Check if a specific input type="submit" parameter was sent in the request, either via a button (directly with name) or via an image (name + ".x" or name + ".y").
request | current HTTP request |
---|---|
name | name of the parameter |
Return whether default HTML escaping is enabled for the web application,
i.e. the value of the "defaultHtmlEscape" context-param in web.xml
(if any). Falls back to false
in case of no explicit default given.
servletContext | the servlet context of the web application |
---|
Determine whether the given request is an include request, that is, not a top-level HTTP request coming in from the outside.
Checks the presence of the "javax.servlet.include.request_uri" request attribute. Could check any request attribute that is only present in an include request.
request | current servlet request |
---|
Remove the system property that points to the web app root directory. To be called on shutdown of the web application.
servletContext | the servlet context of the web application |
---|
Set the session attribute with the given name to the given value. Removes the session attribute if value is null, if a session existed at all. Does not create a new session if not necessary!
request | current HTTP request |
---|---|
name | the name of the session attribute |
value | the value of the session attribute |
Set a system property to the web application root directory.
The key of the system property can be defined with the "webAppRootKey"
context-param in web.xml
. Default is "webapp.root".
Can be used for tools that support substition with System.getProperty
values, like log4j's "${key}" syntax within log file locations.
servletContext | the servlet context of the web application |
---|
IllegalStateException | if the system property is already set, or if the WAR file is not expanded |
---|