类 CharacterEncodingFilter
- java.lang.Object
- org.springframework.web.filter.GenericFilterBean
- org.springframework.web.filter.OncePerRequestFilter
- org.springframework.web.filter.CharacterEncodingFilter
- 所有已实现的接口:
Filter
,Aware
,BeanNameAware
,DisposableBean
,InitializingBean
,EnvironmentAware
,EnvironmentCapable
,ServletContextAware
public class CharacterEncodingFilter extends OncePerRequestFilter
Servlet Filter that allows one to specify a character encoding for requests. This is useful because current browsers typically do not set a character encoding even if specified in the HTML page or form.This filter can either apply its encoding if the request does not already specify an encoding, or enforce this filter's encoding in any case ("forceEncoding"="true"). In the latter case, the encoding will also be applied as default response encoding (although this will usually be overridden by a full content type set in the view).
- 从以下版本开始:
- 15.03.2004
- 作者:
- Juergen Hoeller
- 另请参阅:
setEncoding(java.lang.String)
,setForceEncoding(boolean)
,ServletRequest.setCharacterEncoding(java.lang.String)
,ServletResponse.setCharacterEncoding(java.lang.String)
字段概要
从类继承的字段 org.springframework.web.filter.OncePerRequestFilter
ALREADY_FILTERED_SUFFIX
从类继承的字段 org.springframework.web.filter.GenericFilterBean
logger
构造器概要
构造器 构造器 说明 CharacterEncodingFilter()
Create a defaultCharacterEncodingFilter
, with the encoding to be set viasetEncoding(java.lang.String)
.CharacterEncodingFilter(String encoding)
Create aCharacterEncodingFilter
for the given encoding.CharacterEncodingFilter(String encoding, boolean forceEncoding)
Create aCharacterEncodingFilter
for the given encoding.CharacterEncodingFilter(String encoding, boolean forceRequestEncoding, boolean forceResponseEncoding)
Create aCharacterEncodingFilter
for the given encoding.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected void
doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
Same contract as fordoFilter
, but guaranteed to be just invoked once per request within a single request thread.String
getEncoding()
Return the configured encoding for requests and/or responses.boolean
isForceRequestEncoding()
Return whether the encoding should be forced on requestsboolean
isForceResponseEncoding()
Return whether the encoding should be forced on responses.void
setEncoding(String encoding)
Set the encoding to use for requests.void
setForceEncoding(boolean forceEncoding)
Set whether the configuredencoding
of this filter is supposed to override existing request and response encodings.void
setForceRequestEncoding(boolean forceRequestEncoding)
Set whether the configuredencoding
of this filter is supposed to override existing request encodings.void
setForceResponseEncoding(boolean forceResponseEncoding)
Set whether the configuredencoding
of this filter is supposed to override existing response encodings.从类继承的方法 org.springframework.web.filter.OncePerRequestFilter
doFilter, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
从类继承的方法 org.springframework.web.filter.GenericFilterBean
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
构造器详细资料
CharacterEncodingFilter
public CharacterEncodingFilter()
Create a defaultCharacterEncodingFilter
, with the encoding to be set viasetEncoding(java.lang.String)
.
CharacterEncodingFilter
public CharacterEncodingFilter(String encoding)
Create aCharacterEncodingFilter
for the given encoding.- 参数:
encoding
- the encoding to apply- 从以下版本开始:
- 4.2.3
- 另请参阅:
setEncoding(java.lang.String)
CharacterEncodingFilter
public CharacterEncodingFilter(String encoding, boolean forceEncoding)
Create aCharacterEncodingFilter
for the given encoding.- 参数:
encoding
- the encoding to applyforceEncoding
- whether the specified encoding is supposed to override existing request and response encodings- 从以下版本开始:
- 4.2.3
- 另请参阅:
setEncoding(java.lang.String)
,setForceEncoding(boolean)
CharacterEncodingFilter
public CharacterEncodingFilter(String encoding, boolean forceRequestEncoding, boolean forceResponseEncoding)
Create aCharacterEncodingFilter
for the given encoding.- 参数:
encoding
- the encoding to applyforceRequestEncoding
- whether the specified encoding is supposed to override existing request encodingsforceResponseEncoding
- whether the specified encoding is supposed to override existing response encodings- 从以下版本开始:
- 4.3
- 另请参阅:
setEncoding(java.lang.String)
,setForceRequestEncoding(boolean)
,setForceResponseEncoding(boolean)
方法详细资料
setEncoding
public void setEncoding(String encoding)
Set the encoding to use for requests. This encoding will be passed into aServletRequest.setCharacterEncoding(java.lang.String)
call.Whether this encoding will override existing request encodings (and whether it will be applied as default response encoding as well) depends on the
"forceEncoding"
flag.
getEncoding
public String getEncoding()
Return the configured encoding for requests and/or responses.- 从以下版本开始:
- 4.3
setForceEncoding
public void setForceEncoding(boolean forceEncoding)
Set whether the configuredencoding
of this filter is supposed to override existing request and response encodings.Default is "false", i.e. do not modify the encoding if
ServletRequest.getCharacterEncoding()
returns a non-null value. Switch this to "true" to enforce the specified encoding in any case, applying it as default response encoding as well.This is the equivalent to setting both
setForceRequestEncoding(boolean)
andsetForceResponseEncoding(boolean)
.
setForceRequestEncoding
public void setForceRequestEncoding(boolean forceRequestEncoding)
Set whether the configuredencoding
of this filter is supposed to override existing request encodings.Default is "false", i.e. do not modify the encoding if
ServletRequest.getCharacterEncoding()
returns a non-null value. Switch this to "true" to enforce the specified encoding in any case.- 从以下版本开始:
- 4.3
isForceRequestEncoding
public boolean isForceRequestEncoding()
Return whether the encoding should be forced on requests- 从以下版本开始:
- 4.3
setForceResponseEncoding
public void setForceResponseEncoding(boolean forceResponseEncoding)
Set whether the configuredencoding
of this filter is supposed to override existing response encodings.Default is "false", i.e. do not modify the encoding. Switch this to "true" to enforce the specified encoding for responses in any case.
- 从以下版本开始:
- 4.3
isForceResponseEncoding
public boolean isForceResponseEncoding()
Return whether the encoding should be forced on responses.- 从以下版本开始:
- 4.3
doFilterInternal
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException
从类复制的说明:OncePerRequestFilter
Same contract as fordoFilter
, but guaranteed to be just invoked once per request within a single request thread. SeeOncePerRequestFilter.shouldNotFilterAsyncDispatch()
for details.Provides HttpServletRequest and HttpServletResponse arguments instead of the default ServletRequest and ServletResponse ones.