org.apache.catalina.filters
Class SetCharacterEncodingFilter
java.lang.Object
org.apache.catalina.filters.FilterBase
org.apache.catalina.filters.SetCharacterEncodingFilter
- All Implemented Interfaces:
- javax.servlet.Filter
public class SetCharacterEncodingFilter
- extends FilterBase
Example filter that sets the character encoding to be used in parsing the
incoming request, either unconditionally or only if the client did not
specify a character encoding. Configuration of this filter is based on
the following initialization parameters:
- encoding - The character encoding to be configured
for this request, either conditionally or unconditionally based on
the
ignore
initialization parameter. This parameter
is required, so there is no default.
- ignore - If set to "true", any character encoding
specified by the client is ignored, and the value returned by the
selectEncoding()
method is set. If set to "false,
selectEncoding()
is called only if the
client has not already specified an encoding. By default, this
parameter is set to "false".
Although this filter can be used unchanged, it is also easy to
subclass it and make the selectEncoding()
method more
intelligent about what encoding to choose, based on characteristics of
the incoming request (such as the values of the Accept-Language
and User-Agent
headers, or a value stashed in the current
user's session.
Fields inherited from class org.apache.catalina.filters.FilterBase |
sm |
Method Summary |
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
Select and set (if specified) the character encoding to be used to
interpret request parameters for this request. |
java.lang.String |
getEncoding()
|
protected Log |
getLogger()
|
boolean |
isIgnore()
|
protected java.lang.String |
selectEncoding(javax.servlet.ServletRequest request)
Select an appropriate character encoding to be used, based on the
characteristics of the current request and/or filter initialization
parameters. |
void |
setEncoding(java.lang.String encoding)
|
void |
setIgnore(boolean ignore)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SetCharacterEncodingFilter
public SetCharacterEncodingFilter()
setEncoding
public void setEncoding(java.lang.String encoding)
getEncoding
public java.lang.String getEncoding()
setIgnore
public void setIgnore(boolean ignore)
isIgnore
public boolean isIgnore()
doFilter
public void doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
throws java.io.IOException,
javax.servlet.ServletException
- Select and set (if specified) the character encoding to be used to
interpret request parameters for this request.
- Parameters:
request
- The servlet request we are processingresponse
- The servlet response we are creatingchain
- The filter chain we are processing
- Throws:
java.io.IOException
- if an input/output error occurs
javax.servlet.ServletException
- if a servlet error occurs
getLogger
protected Log getLogger()
- Specified by:
getLogger
in class FilterBase
selectEncoding
protected java.lang.String selectEncoding(javax.servlet.ServletRequest request)
- Select an appropriate character encoding to be used, based on the
characteristics of the current request and/or filter initialization
parameters. If no character encoding should be set, return
null
.
The default implementation unconditionally returns the value configured
by the encoding initialization parameter for this
filter.
- Parameters:
request
- The servlet request we are processing
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.