クラス RequestContextFilter
java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
org.springframework.web.filter.RequestContextFilter
- 実装されたすべてのインターフェース:
FilterEE
、Aware
、BeanNameAware
、DisposableBean
、InitializingBean
、EnvironmentAware
、EnvironmentCapable
、ServletContextAware
LocaleContextHolder
と RequestContextHolder
の両方を通じて、現在のスレッドにリクエストを公開するサーブレットフィルター。web.xml
にフィルターとして登録されます。 または、Spring の RequestContextListener
および Spring の DispatcherServlet
も、同じリクエストコンテキストを現在のスレッドに公開します。
このフィルターは、主にサードパーティのサーブレットで使用するためのものです。JSF FacesServlet。Spring 独自の Web サポート内では、DispatcherServlet の処理で完全に十分です。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller, Rod Johnson, Rossen Stoyanchev
- 関連事項:
フィールドサマリー
クラス org.springframework.web.filter.OncePerRequestFilter から継承されたフィールド
ALREADY_FILTERED_SUFFIX
クラス org.springframework.web.filter.GenericFilterBean から継承されたフィールド
logger
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明protected void
doFilterInternal
(HttpServletRequestEE request, HttpServletResponseEE response, FilterChainEE filterChain) doFilter
と同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。void
setThreadContextInheritable
(boolean threadContextInheritable) LocaleContext および RequestAttributes を子スレッドの継承可能として公開するかどうかを設定します(InheritableThreadLocal
SE を使用)。protected boolean
フィルターが非同期にディスパッチされた各スレッドでリクエストコンテキストを設定できるように、"false" を返します。protected boolean
フィルターがエラーディスパッチでリクエストコンテキストを設定できるように、"false" を返します。クラス org.springframework.web.filter.OncePerRequestFilter から継承されたメソッド
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter
クラス org.springframework.web.filter.GenericFilterBean から継承されたメソッド
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
コンストラクターの詳細
RequestContextFilter
public RequestContextFilter()
メソッドの詳細
setThreadContextInheritable
public void setThreadContextInheritable(boolean threadContextInheritable) LocaleContext および RequestAttributes を子スレッドの継承可能として公開するかどうかを設定します(InheritableThreadLocal
SE を使用)。生成されたバックグラウンドスレッドへの副作用を回避するため、デフォルトは "false" です。これを "true" に切り替えて、リクエストの処理中に生成され、このリクエストにのみ使用される(つまり、スレッドを再利用せずに、最初のタスクの後で終了する)カスタムの子スレッドの継承を有効にします。
警告 : 新しいスレッドをオンデマンドで追加するように構成されているスレッドプール(JDK
ThreadPoolExecutor
SE など)にアクセスしている場合は、子スレッドの継承を使用しないでください。これにより、そのようなプールされたスレッドに継承されたコンテキストが公開されます。shouldNotFilterAsyncDispatch
protected boolean shouldNotFilterAsyncDispatch()フィルターが非同期にディスパッチされた各スレッドでリクエストコンテキストを設定できるように、"false" を返します。- オーバーライド:
- クラス
OncePerRequestFilter
のshouldNotFilterAsyncDispatch
shouldNotFilterErrorDispatch
protected boolean shouldNotFilterErrorDispatch()フィルターがエラーディスパッチでリクエストコンテキストを設定できるように、"false" を返します。- オーバーライド:
- クラス
OncePerRequestFilter
のshouldNotFilterErrorDispatch
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