クラス CharacterEncodingFilter
- 実装されたすべてのインターフェース:
FilterEE
、Aware
、BeanNameAware
、DisposableBean
、InitializingBean
、EnvironmentAware
、EnvironmentCapable
、ServletContextAware
このフィルターは、リクエストでエンコーディングが指定されていない場合にそのエンコーディングを適用するか、いずれの場合もこのフィルターのエンコーディングを強制することができます ("forceEncoding" ="true" )。後者の場合、エンコーディングはデフォルトのレスポンスエンコーディングとしても適用されます (ただし、これは通常、ビューで設定された完全なコンテンツ型によって上書きされます)。
フィールドサマリー
クラス org.springframework.web.filter.OncePerRequestFilter から継承されたフィールド
ALREADY_FILTERED_SUFFIX
クラス org.springframework.web.filter.GenericFilterBean から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクター説明デフォルトのCharacterEncodingFilter
を作成し、エンコーディングをsetEncoding(java.lang.String)
で設定します。CharacterEncodingFilter
(StringSE encoding) 指定されたエンコーディングのCharacterEncodingFilter
を作成します。CharacterEncodingFilter
(StringSE encoding, boolean forceEncoding) 指定されたエンコーディングのCharacterEncodingFilter
を作成します。CharacterEncodingFilter
(StringSE encoding, boolean forceRequestEncoding, boolean forceResponseEncoding) 指定されたエンコーディングのCharacterEncodingFilter
を作成します。メソッドのサマリー
修飾子と型メソッド説明protected void
doFilterInternal
(HttpServletRequestEE request, HttpServletResponseEE response, FilterChainEE filterChain) doFilter
と同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。リクエストまたはレスポンス、あるいはその両方に構成されたエンコードを返します。boolean
エンコードをリクエストで強制する必要があるかどうかを返します。boolean
レスポンスでエンコードを強制する必要があるかどうかを返します。void
setEncoding
(StringSE encoding) リクエストに使用するエンコーディングを設定します。void
setForceEncoding
(boolean forceEncoding) このフィルターの構成済みencoding
が既存のリクエストおよびレスポンスエンコードをオーバーライドすることになっているかどうかを設定します。void
setForceRequestEncoding
(boolean forceRequestEncoding) このフィルターの構成済みencoding
が既存のリクエストエンコードをオーバーライドすることになっているかどうかを設定します。void
setForceResponseEncoding
(boolean forceResponseEncoding) このフィルターの構成済みencoding
が既存のレスポンスエンコードをオーバーライドすることになっているかどうかを設定します。クラス org.springframework.web.filter.OncePerRequestFilter から継承されたメソッド
doFilter, doFilterNestedErrorDispatch, 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()デフォルトのCharacterEncodingFilter
を作成し、エンコーディングをsetEncoding(java.lang.String)
で設定します。CharacterEncodingFilter
指定されたエンコーディングのCharacterEncodingFilter
を作成します。- パラメーター:
encoding
- 適用するエンコーディング- 導入:
- 4.2.3
- 関連事項:
CharacterEncodingFilter
指定されたエンコーディングのCharacterEncodingFilter
を作成します。- パラメーター:
encoding
- 適用するエンコーディングforceEncoding
- 指定されたエンコーディングが既存のリクエストおよびレスポンスエンコーディングをオーバーライドすることになっているかどうか- 導入:
- 4.2.3
- 関連事項:
CharacterEncodingFilter
public CharacterEncodingFilter(StringSE encoding, boolean forceRequestEncoding, boolean forceResponseEncoding) 指定されたエンコーディングのCharacterEncodingFilter
を作成します。- パラメーター:
encoding
- 適用するエンコーディングforceRequestEncoding
- 指定されたエンコーディングが既存のリクエストエンコーディングをオーバーライドすることになっているかどうかforceResponseEncoding
- 指定されたエンコーディングが既存のレスポンスエンコーディングをオーバーライドすることになっているかどうか- 導入:
- 4.3
- 関連事項:
メソッドの詳細
setEncoding
リクエストに使用するエンコーディングを設定します。このエンコードは、ServletRequest.setCharacterEncoding(java.lang.String)
EE 呼び出しに渡されます。このエンコードが既存のリクエストエンコードをオーバーライドするかどうか(およびデフォルトのレスポンスエンコードとしても適用されるかどうか)は、
"forceEncoding"
フラグに依存します。getEncoding
リクエストまたはレスポンス、あるいはその両方に構成されたエンコードを返します。- 導入:
- 4.3
setForceEncoding
public void setForceEncoding(boolean forceEncoding) このフィルターの構成済みencoding
が既存のリクエストおよびレスポンスエンコードをオーバーライドすることになっているかどうかを設定します。デフォルトは "false" です。つまり、
ServletRequest.getCharacterEncoding()
EE が null 以外の値を返す場合、エンコードを変更しません。これを "true" に切り替えて、指定されたエンコーディングを強制し、デフォルトのレスポンスエンコーディングとしても適用します。これは、
setForceRequestEncoding(boolean)
とsetForceResponseEncoding(boolean)
の両方を設定することと同等です。setForceRequestEncoding
public void setForceRequestEncoding(boolean forceRequestEncoding) このフィルターの構成済みencoding
が既存のリクエストエンコードをオーバーライドすることになっているかどうかを設定します。デフォルトは "false" です。つまり、
ServletRequest.getCharacterEncoding()
EE が null 以外の値を返す場合は、エンコーディングを変更しません。これを "true" に切り替えて、指定されたエンコーディングを強制します。- 導入:
- 4.3
isForceRequestEncoding
public boolean isForceRequestEncoding()エンコードをリクエストで強制する必要があるかどうかを返します。- 導入:
- 4.3
setForceResponseEncoding
public void setForceResponseEncoding(boolean forceResponseEncoding) このフィルターの構成済みencoding
が既存のレスポンスエンコードをオーバーライドすることになっているかどうかを設定します。デフォルトは "false" です。つまり、エンコードを変更しません。これを "true" に切り替えて、どのような場合でもレスポンスに指定されたエンコーディングを適用します。
- 導入:
- 4.3
isForceResponseEncoding
public boolean isForceResponseEncoding()レスポンスでエンコードを強制する必要があるかどうかを返します。- 導入:
- 4.3
doFilterInternal
protected void doFilterInternal(HttpServletRequestEE request, HttpServletResponseEE response, FilterChainEE filterChain) throws ServletExceptionEE, IOExceptionSE クラスからコピーされた説明:OncePerRequestFilter
doFilter
と同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。詳細については、OncePerRequestFilter.shouldNotFilterAsyncDispatch()
を参照してください。デフォルトの ServletRequest および ServletResponse の代わりに、HttpServletRequest および HttpServletResponse 引数を提供します。
- 次で指定:
- クラス
OncePerRequestFilter
のdoFilterInternal
- 例外:
ServletExceptionEE
IOExceptionSE