クラス RequestContextFilter

実装されたすべてのインターフェース:
FilterEEAwareBeanNameAwareDisposableBeanInitializingBeanEnvironmentAwareEnvironmentCapableServletContextAware

public class RequestContextFilter extends OncePerRequestFilter
LocaleContextHolderRequestContextHolder の両方を通じて、現在のスレッドにリクエストを公開するサーブレットフィルター。web.xml にフィルターとして登録されます。

または、Spring の RequestContextListener および Spring の DispatcherServlet も、同じリクエストコンテキストを現在のスレッドに公開します。

このフィルターは、主にサードパーティのサーブレットで使用するためのものです。JSF FacesServlet。Spring 独自の Web サポート内では、DispatcherServlet の処理で完全に十分です。

導入:
2.0
作成者:
Juergen Hoeller, Rod Johnson, Rossen Stoyanchev
関連事項:
  • コンストラクターの詳細

    • RequestContextFilter

      public RequestContextFilter()
  • メソッドの詳細

    • setThreadContextInheritable

      public void setThreadContextInheritable(boolean threadContextInheritable)
      LocaleContext および RequestAttributes を子スレッドの継承可能として公開するかどうかを設定します(InheritableThreadLocalSE を使用)。

      生成されたバックグラウンドスレッドへの副作用を回避するため、デフォルトは "false" です。これを "true" に切り替えて、リクエストの処理中に生成され、このリクエストにのみ使用される(つまり、スレッドを再利用せずに、最初のタスクの後で終了する)カスタムの子スレッドの継承を有効にします。

      警告 : 新しいスレッドをオンデマンドで追加するように構成されているスレッドプール(JDK ThreadPoolExecutorSE など)にアクセスしている場合は、子スレッドの継承を使用しないでください。これにより、そのようなプールされたスレッドに継承されたコンテキストが公開されます。

    • shouldNotFilterAsyncDispatch

      protected boolean shouldNotFilterAsyncDispatch()
      フィルターが非同期にディスパッチされた各スレッドでリクエストコンテキストを設定できるように、"false" を返します。
      オーバーライド:
      クラス OncePerRequestFiltershouldNotFilterAsyncDispatch 
    • shouldNotFilterErrorDispatch

      protected boolean shouldNotFilterErrorDispatch()
      フィルターがエラーディスパッチでリクエストコンテキストを設定できるように、"false" を返します。
      オーバーライド:
      クラス OncePerRequestFiltershouldNotFilterErrorDispatch 
    • doFilterInternal

      protected void doFilterInternal(HttpServletRequestEE request, HttpServletResponseEE response, FilterChainEE filterChain) throws ServletExceptionEE, IOExceptionSE
      クラスからコピーされた説明: OncePerRequestFilter
      doFilter と同じ契約ですが、単一のリクエストスレッド内のリクエストごとに 1 回だけ呼び出されることが保証されています。詳細については、OncePerRequestFilter.shouldNotFilterAsyncDispatch() を参照してください。

      デフォルトの ServletRequest および ServletResponse の代わりに、HttpServletRequest および HttpServletResponse 引数を提供します。

      次で指定:
      クラス OncePerRequestFilterdoFilterInternal 
      例外:
      ServletExceptionEE
      IOExceptionSE